Field 'id' doesn't have a default value


首先原因在於沒有設置主鍵自增長。

mysql的自增長模式是IDENTITY。

jpa標簽:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)

 

設置主鍵自增長后,重啟項目,要注意數據庫里面主鍵生成模式是否真實被改變了。

navicat下很方便看到:

如果沒有改變,查看無法改寫的原因。

如果報錯如此:

 

Cannot change column id used in a foreign key constraint

則表明因為外鍵的存在而無法改寫

要想更改表結構,首先要把基層的表修改了。

A表 作為B表的外鍵,A表不能隨便修改。

B表 有A表的外鍵,必須先處理好B,然后A才能修改。

所以建表的一開始就應該注明主鍵生成策略。

否則就把外鍵刪除再來吧。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM