我有简单的mySql问题类似于SO"更新mysql列" 我有一个table table1,至少有两列列和一堆行: [key_col字段|为col_a | col_other] 如果key_col = number存在,我想更新一列col_a;如果不存在,我想插入。我首先必须选择或更新自动插入吗?
答案 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是主键,则执行替换而不是插入...如果键不存在则替换为将插入如果键存在则更新。