[英]Delete row in sql from table
對不起,標題,但我不知道該如何命名。
我正在使用C#,並且有一個WinForms應用程序,我有2個表,每個表都有一個主鍵,那2個表是陌生人。 這意味着我有連接它們之間的第三個表。 第三張表的列為:表的A主鍵和表的B主鍵。
我只想知道,如果我要從第三張表中刪除一行,那么表A和B中的相關數據也會被刪除嗎?
如果使用ON DELETE CASCADE
選項創建了外鍵約束,則可以,它將刪除其他表中的相關行。
如果在沒有ON DELETE CASCADE
選項的ON DELETE CASCADE
創建了外鍵約束,則DBMS將完全阻止您刪除原始行。
如果未創建外鍵約束,則僅原始行將被刪除。
有關級聯刪除選項的用法示例,請參見此SO答案 。
不,不是您的第三個表僅僅是存儲表A和B的引用的關聯表。
但是,如果在表A中刪除一條記錄,並且在關聯表C中具有任何引用,它將具有其他功能。根據您的級聯選項,表C中的記錄也將被刪除。 如果沒有提到級聯選項,它將給出異常。
由於外鍵約束,SQL Server不允許您從第3個表中刪除行。 您必須先從表A和B中刪除引用第三表的值,然后再從第三表中刪除。
否,因為第三個表是表a和表b的關聯表,如果刪除在第三個表上,則不會刪除表a和表b中的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.