修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                修改數據庫主鍵為自增長時報錯:
[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'背景:為了避免Hibernate的increment主鍵生成策略導致的并發情況下主鍵會重復的問題,將Hibernate實體主鍵生成策略改為identity后,還需要對MySQL數據庫中的表做修改,即修改應該設置但未設置主鍵自增長的表。
在網上查找一番后,有人說是因為報錯的表中有ID為0的記錄,于是去看了下報錯的表,果然是有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;總結
以上是生活随笔為你收集整理的修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Beyond Compare 中文乱码解
- 下一篇: Proxy SwitchyOmega安装
