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ý.

Table Database thiếu Primary Key

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.

Table Database thiếu Primary Key

Để 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.

Table Database thiếu Primary Key

Với table có khóa chính sẽ hiển thị như ảnh minh họa sau.

Table Database thiếu Primary Key

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
Table Database thiếu Primary Key

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.

Table Database thiếu Primary Key

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.

Sửa Lỗi Table Database Thiếu Primary Key Trên WordPress