เดิมที่ก็ใช่ phpMyAdmin แก้ column ในตารางให้มี auto_increment ตามปกตินั้นละ แต่ทำกี่ครั้ง ๆ ก็ มี error
1062 – ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ‘2180‘ for key ‘PRIMARY
เข้าไป query ดู ก็เจอว่า id 2180 ไม่ได้ซ้ำ มีแค่ 1 recoed แถม id ในตาราง มันก็วิ่งไปถึง 8,000 แล้ว ยังบอกว่า id 2180 ซ้ำทุกรอบ ทุกวิธีทั้งใช้ ui ทั้งเขียน sql เองก็ทำไม่ได้
- หาลำดับ id ใหม่โดยหามาจาก id ที่มากที่สุดแล้ว + 1
SELECT COALESCE(MAX(ID), 0) + 1 FROM;`wp_posts` - ปิดการใช้งานการจัดลำดับ AUTO_INCREMENT
SET SESSION sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; - เปลี่ยน column โดยคำสั่ง alter ตามปกติ เช่น
ALTER TABLE `wp_posts` CHANGE `ID` `ID` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT; - ระบุลำดับ auto_increment ใหม่จากข้อที่ 1
ALTER TABLE `wp_posts` AUTO_INCREMENT = 8291;
หลังจากนี้ ก็ใช้ auto_increment ในตารางได้ซักที
อ่านเพิ่มเติม
