根据记录是否存在来选择insert和update操作:
if exists(select * from table where id=..) 好像不奏效,sql执行报错。
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near
'if exists(select * from fnbl_pim_contact_item where contact=120 and type=1)' at line 1
mysql提供了一个更方便的做法:
insert into fnbl_pim_contact_item(contact, type, value) value(120, 1, 100)
on duplicate key update value=100;
如果insert数据存在将自动转换为update
注意,要使用这条语句,前提条件是这个表必须有一个唯一索引或主键。
本文介绍了一种在MySQL中实现插入或更新数据的有效方法,通过使用带有onduplicatekeyupdate子句的单条SQL语句,可以在数据已存在时自动转换为更新操作。此方法要求表需具备唯一索引或主键。
1499

被折叠的 条评论
为什么被折叠?



