[英]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.