2015-08-24 65 views
-2

我試圖寫一個值,但沒有奏效。SQL Server如何刪除行如果值等於數據庫

我有一個名爲files的表和一個名爲Username的列和一個名爲str的字符串。

我想要一個簡單的東西 - 如果str等於Username列中的任何內容,然後刪除它(不能有雙值,所以不用擔心)。

我寫的那樣:

IF EXISTS (SELECT * FROM files WHERE Username = @username) 
BEGIN 
    DELETE FROM files 
    WHERE Username = @username 

@username = STR

它不工作,我希望你能幫助。

謝謝。

+0

它不起作用不提供信息。你收到錯誤信息了嗎?它刪除了太多/沒有足夠的行嗎?是應該插入行嗎?這將是一個很好的開始。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

回答

2

你並不需要檢查任何行是否存在:

DELETE FROM [files] WHERE Username = @username 

如果沒有行,他們將不會被刪除!

相關問題