
首先原因在於沒有設置主鍵自增長。
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才能修改。
所以建表的一開始就應該注明主鍵生成策略。
否則就把外鍵刪除再來吧。
