更新非密钥索引列时INSERT或UPDATE MySQL?

时间:2015-11-02 12:50:29

标签: mysql insert insert-update

我有一个表有一个自动递增的id PK,在其他列中,有一个列上有一个非唯一索引,但是我知道它中的数据是唯一的,名为column4。

是否可以做

(INSERT if column4="this_data") or (UPDATE if column4!="this_data")

或者我最好只使用两个查询 - 一个SELECT来获取column4 =“this_data”的行的PK id,然后一旦我知道该行是否存在就进行INSERT或UPDATE?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

使用INSERT ON DUPLICATE KEY UPDATE

<comment>

或者您可以尝试: -

INSERT INTO table (col) 
VALUES ('$val')
ON DUPLICATE KEY UPDATE col=col+1;

More details