簡體   English   中英

外鍵上的SQL自動增量(MySQL)

[英]SQL Autoincrement on Foreign key (MySQL)

我有一個名為“ Address”的表,它引用了表“ Member”,Address有一個名為“ id”的列,此列是外鍵。 我忘記在此列上添加自動插入。

會員:

  • ID
  • 名稱
  • ....
  • address_id(外鍵)

地址:

  • id(應該是自動遞增)
  • 地點
  • 郵政編碼

當我嘗試SQL

ALTER TABLE Address MODIFY COLUMN id INT auto_increment;

它通過一個錯誤:

Error Code: 1833. Cannot change column 'id': used in a foreign key constraint 'fk_Member_Address1' of table 'mydb.member'

首先,您必須刪除外鍵約束,然后更改名稱並重新創建約束。

嘗試按順序觸發這些查詢:

  1. ALTER TABLE Member DROP FOREIGN KEY address_id ;

  2. ALTER TABLE Address MODIFY COLUMN id INT auto_increment;

  3. ALTER TABLE Member ADD FOREIGN KEY ( address_id ) REFERENCES Address( id );

在這里,您首先從成員表中刪除外鍵約束,然后將auto_increment添加到地址表,然后再次將外鍵約束添加到成員表。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM