【问题标题】:Update Multi Row At One TimeSQL 一次更新多行
【发布时间】:2016-06-04 20:17:54
【问题描述】:
mysql> SELECT * FROM options;
+----+------+---------+
| id | name | value   |
+----+------+---------+
|  1 | aa   | a value |
|  2 | bb   | b value |
|  3 | cc   | c value |
|  4 | dd   | d value |
|  5 | ee   | e value |
+----+------+---------+

我有一个选项表。

我想在同一个查询中更新多行(使用 where 案例名称)。

假设我一次更新 options.name aabb。它的更新就像

+----+------+---------+
| id | name | value   |
+----+------+---------+
|  1 | aa   |aa value |
|  2 | bb   |bb value |
+----+------+---------+

我尝试通过谷歌搜索来解决这个问题,但我不能。

请帮助我并稍微解释一下查询。

【问题讨论】:

  • 你尝试了什么?写查询?
  • 我无法找到任何关于它的查询.....请帮助
  • 你想要什么?将 a 替换为 aa?
  • 在更新查询中,如果您在 aa 和 bb 中输入相同的值,那么您可以,否则您可以为所有人编写 saparte 查询

标签: mysql sql database mysqli pdo


【解决方案1】:

这就是你要找的吗?

Update options
Set value = name + ' value'
where name in ('aa', 'bb')

【讨论】:

    【解决方案2】:

    使用 UPDATE WHERE .. IN

    UPDATE options
    SET value = 'any value'
    WHERE name IN ('aa', 'bb)
    

    【讨论】:

    • 对所有名称('aa','bb') 赋予相同的值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2021-02-15
    • 1970-01-01
    • 2013-08-08
    • 2023-03-20
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多