Hướng dẫn sửa lỗi Database mất khoá chính (Primary Key)

19
0

Nguyên nhân mất khoá chính (Primary Key)

Mất khoá chính (Primary Key) trong một bảng cơ sở dữ liệu WordPress có thể xảy ra do nhiều nguyên nhân khác nhau, dưới đây là một số ví dụ:

  1. Xóa bản ghi chứa khoá chính: Khi xóa bản ghi chứa khoá chính của bảng, khoá chính sẽ bị mất. Việc này có thể xảy ra vô tình hoặc có thể được thực hiện bởi người quản trị cơ sở dữ liệu hoặc người sử dụng.
  2. Thay đổi giá trị của khoá chính: Khi giá trị của khoá chính của bản ghi bị thay đổi, khoá chính cũng sẽ bị mất. Việc này có thể xảy ra khi người quản trị cập nhật hoặc chỉnh sửa dữ liệu trong bảng.
  3. Lỗi hệ thống: Một số lỗi hệ thống có thể dẫn đến mất khoá chính của bảng. Ví dụ: lỗi phần cứng, lỗi phần mềm hoặc lỗi trong quá trình sao lưu và phục hồi dữ liệu.
  4. Tự động tăng giá trị của khoá chính: Khi bảng được cấu hình để sử dụng khoá chính tự động tăng (Auto Increment), nếu giá trị của khoá chính vượt quá giới hạn cho phép của kiểu dữ liệu, khoá chính có thể bị mất.
  5. Sử dụng plugin không đáng tin cậy: Sử dụng plugin không đáng tin cậy hoặc mã độc có thể dẫn đến mất khoá chính hoặc gây ra các vấn đề khác cho cơ sở dữ liệu của bạn.

Trong một số trường hợp, mất khoá chính có thể được khắc phục bằng cách khôi phục từ bản sao lưu của cơ sở dữ liệu hoặc bằng cách thêm lại khoá chính. Tuy nhiên, việc phục hồi dữ liệu có thể rất phức tạp và cần được thực hiện cẩn thận để tránh mất dữ liệu hoặc gây ra các vấn đề khác cho cơ sở dữ liệu.

image 16

Hướng dẫn cập nhật khoá chính (Primary Key)

Trong bài viết này tôi sẽ hướng dẫn bạn cập nhật lại khoá chính cho Table Database. Hiện tôi đang gặp một database với table mất khoá chính là table _options. Đối với WordPress thì Table này rất quan trọng.

Bước 1: Kiểm tra table

Đầu tiên bạn truy cập vào phpMyAdmin sau đó vào database và mở table đang bị mất khoá chính. Ở đây thì table của tôi là option.

Bạn click chọn vào Cấu trúc => Tick vào ô option_id => Chính

CleanShot 2023 03 14 at 09.38.10

Sau đó bạn sẽ nhận được thông báo PRIMARY bị trùng lặp với ID là 0. Có nghĩa các hàng sinh ra các ID đều giống nhau là 0, việc này không chính xác và dẫn đến lỗi lập tức và bạn cần phải set giá trị nó lại.

CleanShot 2023 03 14 at 09.38.47

Bước 2: Kiểm tra ID trùng lặp và xoá ID trùng lặp

Bạn click vào mục Tìm kiếm => option_id => nhập vào giá trị là 0 => Thực hiện. Mục đích là để kiểm tra có bao nhiêu hàng đang có ID trùng nhau và thực hiện xử lý.

CleanShot 2023 03 14 at 09.40.15

Sau khi tìm kiếm kết quả in ra có hơn 120k hàng trùng nhau với ID = 0. Và tại bảng đó bạn chọn Sửa chung dòng

CleanShot 2023 03 14 at 09.40.43

Bạn sẽ thấy dòng lệnh SQL như bên dưới. Ở đây bạn xoá SELECT * và chuyển thành DELETE để xoá các hàng này đi, đa phần các hàng này đều là transient.

CleanShot 2023 03 14 at 09.41.32

Sau đó bấm Thực hiện

CleanShot 2023 03 14 at 09.42.20

Bước 3: Cập nhật khoá chính

Quay trở lại table bạn chọn vào Cấu trúc => tick chọn cột ID => Thay đổi

CleanShot 2023 03 14 at 09.43.42

Tại đây bạn tick vào ô A_I (AUTO_INCREMENT) chọn Ghi lại.

CleanShot 2023 03 14 at 09.44.17

Sau khi chọn bạn quay lại sẽ thấy cột đã được set giá trị AUTO_INCREMENT. Với giá trị này thì những hàng được sinh ra sẽ tăng dần và không bị trùng lặp.

CleanShot 2023 03 14 at 09.44.37

Và kết quả Table option đã được chỉnh sửa hoàn tất.

CleanShot 2023 03 14 at 09.44.53

Tổng kết

Trong quá trình quản lý cơ sở dữ liệu, các lỗi có thể xảy ra và gây ra những trục trặc đáng tiếc. Một trong số đó là mất khoá chính (Primary Key), khiến cho việc truy vấn, cập nhật, xóa hoặc thêm dữ liệu vào bảng cơ sở dữ liệu trở nên khó khăn. Vì vậy, việc sửa lỗi này là vô cùng cần thiết để bảo đảm tính toàn vẹn và chính xác của cơ sở dữ liệu.

Ở bài viết này, chúng tôi sẽ cung cấp cho bạn một số hướng dẫn để sửa lỗi Database mất khoá chính (Primary Key).

Đỗ Trung Quân
WRITTEN BY

Đỗ Trung Quân

Nguồn nội dung này đến từ Website DoTrungQuan.info

Trả lời