mysql 設定級聯刪除

2021-09-01 03:17:32 字數 667 閱讀 4505

以下方法來自網路:

create table person_fileinfo (

person_id int not null,

fileinfo_id int not null ,

primary key(person_id,fileinfo_id),

foreign key(fileinfo_id) references fileinfo(id) on delete cascade,

foreign key(person_id) references person(id) on delete cascade

) 注意加入on delete cascade

在mysql中實現這樣的級聯是很麻煩你,但可以實現的。根據我的思想提供兩種解決方式。

1.因為mysql中要實現級聯刪除,建立的表必須滿足:

a、必須使用innodb引擎;

b、外來鍵必須建立索引(index);

如果資料庫表已經做好了,用這種方式就得回去改變表的屬性,很煩。

第二種方式:

不需要改變表的結構:

在程式中去實現,如果你根據條件刪除了a表中的資料庫,在寫乙個方法,在去b表中刪除a中的相關資料,這樣也算實現了級聯,不過只是通過程式實現的。資料刪除使用的時間可以忽略的。

mysql級聯刪除

首先,目前在產品環境可用的mysql版本 指4.0.x和4.1.x 中,只有innodb引擎才允許使用外來鍵,所以,我們的資料表必須使用innodb引擎。但mysql 5版本以上不需指定innodb引擎。下面,我們先建立以下測試用資料庫表 create table roottb id int 11 ...

mysql 多表級聯刪除

備忘一下 例如存在3個表,a,b,c.a,b是一對多關係 a id,name a b id,aid,name b b,c是一對多關係 b id,aid,name b c id,bid,name c 實現效果 刪除乙個a的id,與之關聯的b內aid的所有元組都刪除,b刪除就會把c關聯b的bid的所有元...

phpmyadmin級聯刪除,mysql

資料庫中的好東西 今天在做專案的時候偶然遇到了級聯刪除的問題,想到mssqlserver和access有級聯刪除,然後去找了下資料,mysql也是有的,有些孤陋寡聞了.在仔細的尋找過後,在phpmyadmin中發現了建立級聯刪除的方法.首先需要兩個表 乙個表 使用者 user id username...