一次更新几条记录上的少量值

时间:2017-04-07 07:49:11

标签: sql sql-update absolute-db

我正在尝试一次更新2条记录中的2列中的值。

INSERT .... ON DUPLICATE ... UPDATE ...不起作用。

我已阅读有关主题的帖子但该解决方案对我不起作用,所以这是我的问题。我哪里错了?

代码:

[7.4.2017 10:21:07] Executing Query:

UPDATE sales
   SET (ind,otst) = CASE id 
                    WHEN 7795 THEN (759900,2.2)
                    WHEN 7799 THEN (779900,5)
                    ELSE (ind,otst)
                    END
 WHERE id IN(7795, 7799) and recNo>1;

错误:

  

[7.4.2017 10:21:09]值为空 - 本机错误:30359

P.S。当我在多行中更改单个列中的值时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

[7.4.2017 11:33:17]执行查询:

UPDATE sales
   SET ind = CASE id 
  WHEN 7795 THEN 759900 
  WHEN 7799 THEN 779900
  ELSE ind END,
  otst = case id
  WHEN 7795 THEN 99 
  WHEN 7799 THEN 77
  ELSE otst END
WHERE id IN(7795, 7799) and recNo>1;

[7.4.2017 11:33:17]好的。 [7.4.2017 11:33:17] 3排受影响。

非常感谢StanislavL