为什么这个简单的UPDATE查询不起作用?

时间:2014-02-23 19:08:01

标签: sql sql-server

我是Microsoft SQL Server的新手,我在执行UPDATE查询时遇到问题:

我有一个名为VulnerabilityAlertDocument的表,其中包含一些列。

如果我尝试使用以下查询更新特定行的单个列的值,我没有问题:

UPDATE VulnerabilityAlertDocument 
SET Title = 'UPDATED-TITLE' 
WHERE Id = '83157';

工作正常,Title行的Id=83157列的值已正确更改为UPDATED-TITLE

但是如果我尝试执行这个新查询,还必须更改另一个名为BugTraqID的列的值,它就不起作用

UPDATE VulnerabilityAlertDocument 
SET BugTraqID = 1 
SET Title = 'UPDATED-TITLE' 
WHERE Id = '83157';

它无法正常工作并给我以下错误消息:

  

第15行,第1行,第1行,第1行   关键字“SET”附近的语法不正确。

我错过了什么?我的查询中有语法问题吗?我该如何解决?

TNX

安德烈

2 个答案:

答案 0 :(得分:3)

update的正确语法在set语句之间使用逗号,而不是set关键字:

UPDATE VulnerabilityAlertDocument
    SET BugTraqID = 1, 
        Title = 'UPDATED-TITLE'
    WHERE Id = '83157';

答案 1 :(得分:1)

您只需使用SET一次,然后使用逗号分隔要更新的列:

UPDATE VulnerabilityAlertDocument 
SET BugTraqID = 1 
SET Title = 'UPDATED-TITLE' 
WHERE Id = '83157';

应该是

UPDATE VulnerabilityAlertDocument 
SET BugTraqID = 1, 
Title = 'UPDATED-TITLE' 
WHERE Id = '83157';