修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”
生活随笔
收集整理的這篇文章主要介紹了
修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
修改數(shù)據(jù)庫(kù)主鍵為自增長(zhǎng)時(shí)報(bào)錯(cuò):
[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'背景:為了避免Hibernate的increment主鍵生成策略導(dǎo)致的并發(fā)情況下主鍵會(huì)重復(fù)的問(wèn)題,將Hibernate實(shí)體主鍵生成策略改為identity后,還需要對(duì)MySQL數(shù)據(jù)庫(kù)中的表做修改,即修改應(yīng)該設(shè)置但未設(shè)置主鍵自增長(zhǎng)的表。
在網(wǎng)上查找一番后,有人說(shuō)是因?yàn)閳?bào)錯(cuò)的表中有ID為0的記錄,于是去看了下報(bào)錯(cuò)的表,果然是有ID為0的表,按照別人提供的解決方法,即將ID為0的記錄的ID改成其他值。
修改前的SQL:
ALTER TABLE safetygroup MODIFY SG_ID BIGINT AUTO_INCREMENT;修改后的SQL:
UPDATE safetygroup set SG_ID = 9999 WHERE SG_ID = 0; ALTER TABLE safetygroup MODIFY SG_ID BIGINT AUTO_INCREMENT; UPDATE safetygroup set SG_ID = 0 WHERE SG_ID = 9999;總結(jié)
以上是生活随笔為你收集整理的修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Beyond Compare 中文乱码解
- 下一篇: linux cmake编译源码,linu