簡體   English   中英

mysql ON DELETE CASCADE

[英]mysql ON DELETE CASCADE

網絡表

"CREATE TABLE network("
 . "n_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,"
 . "nname VARCHAR(50) NOT NULL,"
 . "ndate DATE NOT NULL"
 . ");";

位置表

"CREATE TABLE locality("
 ."l_id int NOT NULL AUTO_INCREMENT PRIMARY KEY,"
 ."lname varchar(50) NOT NULL,"
 ."ldate varchar(50) NOT NULL,"
 ."n_id int NOT NULL,"
 . "CONSTRAINT locality_fk_1 FOREIGN KEY (n_id) REFERENCES network(n_id)ON DELETE CASCADE ON UPDATE CASCADE"
 . ");"; 

從評論中添加

它給了我以下錯誤:

網絡未刪除不能刪除或更新父行:外鍵約束失敗(accelore.locality, CONSTRAINT locality_ibfk_1 FOREIGN KEY (n_id) REFERENCES network (n_id))

您添加了一個外鍵約束,因此它不會被直接刪除,您必須先刪除該約束。
alter table locality drop constraint locality_ibfk_1將刪除約束,您可以刪除網絡或
如果您只想從兩個表中刪除數據,請使用:

delete from network where n_id = n_id; 

將刪除兩個表中的所有數據而不刪除任何表。 或者
如果您使用特定的n_id它將delete兩個表中的特定數據。

暫無
暫無

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

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