簡體   English   中英

MariaDB 在沒有外鍵關系的行上刪除 CASCADE

[英]MariaDB On delete CASCADE on rows without foreign key relationship

我有一個問題,在過去的幾天里我一直在頭疼。 我有一個關系數據庫(mariaDB),它有兩個表。 表A和表B。表A和自己有關系,當刪除一行時,可能會刪除多個(通過on delete CASCADE)。 表 B 與表 A 沒有關系。我無法創建關系,因為表中當前存在的行可能有也可能沒有正確的(強制這種關系)數據(我對此沒有影響)。

當我從表 A 中刪除一條記錄時,我希望表 B 中的隱式相關數據也被刪除。 由於無法創建外鍵,因此刪除 CASCADE 似乎是不可能的。 我想到了一個觸發器,它會在表 A 中的每次刪除時找到相關行,但是,觸發器不會在由 on delete CASCADE 刪除的行上觸發。 這意味着當 X 行(來自表 A)由於 CASCADE 被刪除時,表 B 中的相關數據將不會被刪除。

如果我不得不將其總結為一個問題:是否可以在不使用外鍵或觸發器的情況下刪除一行,例如在刪除 CASCADE 時?

感謝閱讀,不勝感激!

感謝@Akina。

迭代與觸發器中刪除的行相關的行,然后刪除與表 B 中這些行相關的所有行。這可行,但我目前還不能接受我自己的答案。

暫無
暫無

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

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