Skip to content Skip to main navigation Skip to footer

Sửa lỗi Table Database thiếu khóa chính (Primary Key)

Bài viết hôm nay mình sẽ hướng dẫn bạn kiểm tra và sửa lỗi Table Database thiếu khóa chính (Primary Key) 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 khóa chính

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 khóa chí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 khóa chính

Ở bài viết này mình đ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.

AZDIGI Tutorial
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 khóa chính

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

Table Database thiếu khóa chính

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.

AZDIGI Tutorial
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 hôà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 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 AZDIGI.

  • Hotline 247: 028 730 24768 (Ext 0)
  • Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com