2012-11-09 77 views
0

我如何在SQL表中刪除行的行沒有事先知道它是否在該表中存在或不刪除在SQL

delete from table id=4 

比如我想刪除等於一個ID 4,但我不「知道,如果有該表中的4號存在或沒有ID應該我用一個程序來檢查它是否存在,或者我可以只用一個簡單的delete語句

回答

1

是的,你可以使用一個簡單的刪除聲明嘗試刪除該記錄。

如果記錄存在於表中,它將被刪除。如果它不存在,那麼什麼都不會發生。

delete 
from yourTable 
where id=4 
+0

比沒有例外會被給出? – Sora

+0

不,將會發生異常,請參閱SQL小提琴演示 - http://sqlfiddle.com/#!3/227f5/1 – Taryn

1
DELETE FROM tableName WHERE id=4; 
0

只要做到這一點。語法如下:

DELETE FROM tableName WHERE id=4; 

刪除的行數將存儲在@@ROWCOUNT中。如果沒有行被刪除,則不會發生異常,但@@ROWCOUNT將爲0

你可以找到一個例子here。該示例是UPDATE語句,但DELETE的工作方式相同。

0

是這樣的: DELETE FROM tableName WHERE id = 4;

如果有一行存在哪個id = 4會比將它刪除否則什麼都不會發生