簡體   English   中英

從表中刪除SQL中的行

[英]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.

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