【问题标题】:Is it possible to edit a value of a column in multiple rows, by passing a vector?是否可以通过传递向量来编辑多行中列的值?
【发布时间】:2015-10-22 19:18:23
【问题描述】:

有没有办法简化这个表达式?

UPDATE `app01`.`ost_user` SET `org_id` = '2' WHERE `ost_user`.`id` = 6;
UPDATE `app01`.`ost_user` SET `org_id` = '2' WHERE `ost_user`.`id` = 7;
UPDATE `app01`.`ost_user` SET `org_id` = '2' WHERE `ost_user`.`id` = 8;

我在想这样的事情:

UPDATE `app01`.`ost_user` SET `org_id` = '2' WHERE `ost_user`.`id` = [6, 7, 8];

有什么办法吗?

我已经尝试找到这个问题的答案,但我什至不知道我应该搜索哪些术语......

【问题讨论】:

  • 好像你想要 in 运算符 - UPDATE `app01`.`ost_user` SET `org_id` = '2'' WHERE `ost_user`.`id` in (6,7,8); - 请注意,多个 ID 可能存在陷阱 - 请参阅 this response 了解更多信息。

标签: mysql


【解决方案1】:

试试

UPDATE `app01`.`ost_user` SET `org_id` = '2' WHERE `ost_user`.`id` in (6, 7, 8);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2018-11-18
    相关资源
    最近更新 更多