Sửa Lỗi Table Database Thiếu Primary Key Trên WordPress
Danh mục
Bài viết hôm nay UnITo sẽ hướng dẫn bạn kiểm tra và sửa lỗi Table Database thiếu Primary Key (khóa chính) trong Database với WP-CLI
I. TỔNG QUAN
Như các bạn đã biết thì tất cả dữ liệu của một website sẽ được lưu trữ trong Database, Database rất quan trọng đối với website và được coi là tài sản của web. Khi website bạn lỗi thì bạn có thể thiết kế lại từ đâu, nhưng Database lỗi hoặc mất thì không thể phục hồi được nếu bạn không có backup hoặc lỗi quá nặng không xử lý được.
Như ảnh bên dưới là một ảnh minh họa về lỗi không có khóa chính cho cột trong table Database, mà bài viết hôm nay mình muốn hướng dẫn đến các bạn cách kiểm tra và xử lý.
Khi mất khóa chính các nút tùy chọn “Edit” “Copy” “Delete” không còn xuất hiện nữa và bạn không thể thao tác được gì lên table này. Bên dưới là một ảnh minh họa table _option
của mình.
Để kiểm tra và xử lý lỗi mất khóa chính trong table database. Bạn hãy theo dõi các bước bên dưới của mình và thực hiện theo nhé.
II. CÁCH XỬ LÝ
Bước 1: Kiểm tra structure của Table Database thiếu Primary Key (khóa chính)
Ở bài viết này UnITo đang bị lỗi trên Table wp_option
nên mình sẽ hướng dẫn với table này. Với các table khác bạn cũng sẽ làm tương tự nhé.
Lưu ý: wp_ được gọi là prefix và có thể thay đổi tùy chính nên không nhất thiết là wp_option mà có thể thay đổi với tên bất kỳ.
Bạn hãy mở Terminal để thực hiện kiểm tra. Và bắt buộc máy chủ phải có cài đặt WP-CLI. Nếu bạn chưa cài WP-CLI hãy thực hiện cài nhanh theo hướng dẫn bên dưới.
Bạn dùng lệnh cd
vào thư mục lưu mã nguồn đang chạy với Database có table lỗi. Vì wp-cli đọc file wp-config.php
để biết đang dùng database nào. Bạn sử dụng lệnh sau để kiểm tra.
Ghi chú: –allow-root sử dụng với quyền root. Nếu ở user bạn không cần thêm option này.
wp db query "DESCRIBE $(wp db prefix --allow-root)options" --allow-root
Khi mình nhập xong lệnh trên để kiểm tra. Thì dòng option_id
ở mục KEY không có khóa chính.
Với table có khóa chính sẽ hiển thị như ảnh minh họa sau.
Bước 2: Cập nhật khóa chính.
Khi đã xác định được mất khóa chính, bạn hãy cập nhật lại khóa chính cho cột option_id
với lệnh wp-cli như sau.
wp db query "ALTER TABLE $(wp db prefix --allow-root)options MODIFY option_id INT AUTO_INCREMENT PRIMARY KEY;" --allow-root wp db query "DESCRIBE $(wp db prefix --allow-root)options" --allow-root
Khi cập nhật xong, bạn kiểm tra lại sẽ thấy cột option_id
đã hiện khóa với dòng PRI. Như vậy đã hoàn tất. Bây giờ bạn hãy quay lại phpMyAdmin và kiểm tra xem đã có thể cập nhật các thao tác lên Database chưa nhé.
Và đây là kết quả của mình sau khi thực hiện hoàn tất.
III. TỔNG KẾT
Như vậy mình đã hoàn tất các bước hướng dẫn xử lý lỗi Table Database thiếu khóa chính hoàn tất. Hi vọng với các cách trên sẽ giúp bạn xử lý được lỗi Table Database thiếu Primary Key (khóa chính) một cách an toàn và hiệu quả.
Nếu bạn vẫn chưa thể thực hiện được hoặc gặp lỗi nào khi thao tác hãy liên hệ ngay với Phòng kỹ thuật tại thông tin liên hệ bên dưới để được nhận sự hỗ trợ nhiệt tình từ bộ phận kỹ thuật UNITO.