尝试更新SQL表中的特定行

时间:2016-04-07 17:23:34

标签: sql

所以我正在尝试更新一个表中的一列。但是,我正在尝试更新表中的特定记录。我知道我需要使用更新语句,但我对SET和UPDATE语句的逻辑感到困惑。

基本上我正在尝试更新与特定网站ID相关的评论部分。

UPDATE SQL_TABLE
SET COMMENTS = "Comment 1" AND "Comment 2"
WHERE SITE = 2000 , 2001 ;

2 个答案:

答案 0 :(得分:0)

一般情况下,表格的更新是按集合完成的,也可以是一次一次调用。

但是,如果你必须***用两个不同的值更新2条记录,这是一种方法:

Update SQL_Table
set comments = case when site = 2000 then 'Comment 1'
                     when site = 2001 then 'Comment 2' end 
WHERE SITE in (200,2001)

答案 1 :(得分:0)

看起来您正在尝试更新同一查询中的两条记录。为此,您需要CASE声明:

UPDATE SQL_TABLE
SET COMMENTS = CASE SITE
                   WHEN 2000 THEN "Comment 1"
                   WHEN 2001 THEN "Comment 2"
                   ELSE COMMENTS
               END
WHERE SITE IN (2000 , 2001);

ELSE声明的原因是您不会意外更改您不想要的记录。