2012-05-07 47 views
6

Tôi có trường bảng với kiểu dữ liệu là 'smallint' (khóa chính) và nó là auto_increment. Nó đã hoạt động tốt.mục trùng lặp '0' cho khóa 1 trong mysql

Sau một thời gian dài, tôi gặp lỗi duplicate entry '32676' for key 1. Vì vậy, tôi đã cập nhật trường đó từ smallint(6) thành int(11). Bây giờ tôi đã gặp lỗi duplicate entry '0' for key 1.

Tôi đang sử dụng công cụ InnoDB.

Tôi có thể làm gì để giải quyết vấn đề này?

Trả lời

8

Đó là vì có thể bảng đếm đã được đặt lại về 0, vì vậy mục tiếp theo được thêm bằng 0, một khóa hiện có !!
Bạn có thể thử sử dụng

ALTER TABLE your_table AUTO_INCREMENT=32677 
+1

Cảm ơn @Marco nó hoạt động cho tôi ngay bây giờ. Đã có một bản ghi trong bảng của tôi với giá trị là 0 trong trường khóa chính. Vì vậy, nó đã cho tôi lỗi đó. – hims056

Các vấn đề liên quan