更新或插入mysql列

时间:2017-01-03 19:14:02

标签: mysql insert-update

我有简单的mySql问题类似于SO"更新mysql列" 我有一个table table1,至少有两列列和一堆行: [key_col字段|为col_a | col_other] 如果key_col = number存在,我想更新一列col_a;如果不存在,我想插入。我首先必须选择或更新自动插入吗?

2 个答案:

答案 0 :(得分:2)

请参阅此答案:Insert into a MySQL table or update if exists

你说的是什么:"我想更新密钥是否存在,如果不存在则要插入"相当于相反的顺序:"如果不存在则插入或如果存在则更新",因为这两种情况是互斥的。

首先确保key_col具有唯一索引(如:主键)。然后这将工作:

insert into
    `table1`
    (`key_col`, `col_a`, ...)
values
    (123, 234, ...)
on duplicate key update
    `col_a` = 234, ...;

At" ..."放置其他字段。

答案 1 :(得分:0)

如果key_col是主键,则执行替换而不是插入...如果键不存在则替换为将插入如果键存在则更新。