問題描述:

現在我洗掉最后一條記錄:

再加上一條新記錄:

發現,記錄的id不是4而是5.
問題解釋:
這是因為作為主鍵而不得有重復的id值,就算是刪掉了,因為設定了auto_increment,為了保持id的自增,他只會接著自己的增長記錄走,而不管記錄中的每一個值是否還存在.
辦法:
洗掉該串列的主鍵,然后重新添加它,并設定auto_increment.
可是,當我洗掉時:
ALTER table users PRIMARY KEY;
卻出現:

說明洗掉主鍵的方法,會影響到列的定義,也就是建表時定義的auto_increment;
于是方法改為:
ALTER TABLE users DROP userId;
直接以列名的形式直接洗掉那個列,就可以忽略掉列的定義了!(但是別忘了如果他又是外鍵,需要先解除外鍵關系)
最后解決方案:
/* *插入or洗掉操作 */ ALTER TABLE users DROP userId;//去除原來的列 ALTER table users add userId int(6) not null auto_increment PRIMARY KEY;//重新定義,排列
注:在myBatis中并未找到@Alter的注解,但是@Update同樣適用!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/56204.html
標籤:MySQL
上一篇:MySQL 性能優化小結
