簡體   English   中英

MySQL的:刪除行,其中列= ID后刪除ID

[英]mysql : delete rows where column = ID after delete ID

我有一張這樣的桌子

ID   parent
1    null
2    1
3    1

現在,當我刪除I​​D 1時,我需要自動刪除parent = 1的所有行。 我嘗試觸發a / b刪除,但遞歸觸發時出錯。

謝謝

您可能想研究FOREIGN KEY約束和CASCADE,而不是使用觸發器。 https://dev.mysql.com/doc/refman/5.7/zh-CN/create-table-foreign-keys.html

是的,您不能對同一表使用觸發器,這可能導致死鎖,因此在這里您不能使用觸發器。
您應該使用外鍵。 這是一個例子

ALTER TABLE `employee` ADD INDEX ( `parent_id` );


ALTER TABLE `employee` ADD CONSTRAINT `employee_ibfk_1` FOREIGN KEY ( `parent_id` ) REFERENCES `test`.`employee` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;

在這里,當您刪除父數據時,所有子行都將被刪除。

暫無
暫無

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

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