首页 > 解决方案 > 更新或插入 mysql

问题描述

我正在尝试找到一种解决方案来更新或插入我的 MySQL 表中的值(比如在 firebird 中你有UPDATE OR INSERT INTO TABLE (COL1, COL2, COL3) VALUES (VAL1, VAL2, VAL3) MATCHING (COL1, COL2).

我知道 MySQL 有on duplicate key,但我不想那样!我不想在我的某些列上设置键,因为根据情况使用一个表。

那么还有其他执行update or insert动作的方式吗?

标签: mysql

解决方案


如果我没记错 COL1 应该是唯一的

INSERT INTO table
      (COL1, COL2, COL3)
    VALUES
      (?, ?, ?)
    ON DUPLICATE KEY UPDATE
      COL2 = VALUES(COL2)
    COL2 = VALUES(COL2 )

推荐阅读