![](/img/trans.png)
[英]PHP MySQL "DELETE FROM `table` WHERE `id` = | unknown column `id`
[英]mysql : delete rows where column = ID after delete ID
我有一張這樣的桌子
ID parent
1 null
2 1
3 1
現在,當我刪除ID 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.