【问题标题】:MySql: REPLACE INTO with number=number+1MySql:用 number=number+1 替换 INTO
【发布时间】:2012-10-20 00:43:09
【问题描述】:

我想在一个查询中做这样的事情。

REPLACE INTO table ( id, number ) VALUES ( 'test', number=number+5 )

我想要的是(第一次!)插入行并设置数字 5。 其他时间(如果已经存在)在数字上加 5。

有可能吗?我在网上找不到任何东西。

【问题讨论】:

    标签: mysql sql replace add


    【解决方案1】:

    请确保 ID 是唯一的。使用 INSERT ... ON DUPLICATE KEY UPDATE 语法

    INSERT INTO tableName (id, number)
    VALUES ('test', 5)
    ON DUPLICATE KEY UPDATE
    number = number + 5
    

    【讨论】:

      【解决方案2】:

      假设id 是正确的键(例如主键):

      INSERT INTO `table` (id, number)
      VALUES ('test', 5)
      ON DUPLICATE KEY UPDATE number=number+VALUES(number)
      

      【讨论】:

        猜你喜欢
        • 2019-01-10
        • 2016-11-15
        • 2019-07-29
        • 2020-01-14
        • 1970-01-01
        • 2021-10-16
        • 2013-02-08
        • 1970-01-01
        • 2015-03-11
        相关资源
        最近更新 更多