首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 8更新、设置、案例

MySQL 8更新、设置、案例
EN

Stack Overflow用户
提问于 2018-12-26 00:19:02
回答 1查看 34关注 0票数 0

我正在测试一个多更新的SET col1 = col2 WHEN col1 != col2

我不明白,为什么它不起作用。我在输出中只看到有关Row matched的信息,没有看到有关受影响行的信息

代码语言:javascript
复制
UPDATE db.t1
    JOIN db.t2
    ON  t1.id = t2.id
    JOIN db.t3
    ON t2.id = t3.id
SET col1 = CASE
    WHEN col1 != col2
    THEN col1 = col2
    END
WHERE t1.id = t2.id AND t3.id = t2.id and t1.id = 2
EN

回答 1

Stack Overflow用户

发布于 2018-12-26 00:55:49

对这件事要有信心..THEN col1 = col2 ..在这种情况下,代码被评估为逻辑条件(结果可以是0或1)。

如果您希望根据案例结果将col2设置为col1,那么您应该使用

代码语言:javascript
复制
UPDATE db.t1
JOIN db.t2 ON  t1.id = t2.id
JOIN db.t3  ON t2.id = t3.id
SET col1 = CASE
    WHEN col1 != col2
    THEN  col2
    END
WHERE t1.id = t2.id 
AND t3.id = t2.id 
AND t1.id = 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53923922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档