我有一个包含三个字段的表
field_one field_two field_three
我想进行插入/更新,但不是检查其中一个关键字段是否已存在,而是检查数据库中是否已存在(field_one,field_two)组合,如果是,则更新插入
答案 0 :(得分:5)
Create unique index your_index_name on yourtable (field_one,field_two)
(see docs)并使用INSERT...ON DUPLICATE KEY UPDATE。
MySQL将自动完成剩下的工作。
答案 1 :(得分:0)
有多种方法可以做到这一点。最简单的可能是这样的:
答案 2 :(得分:0)
听起来好像只要两个字段有唯一约束就可以使用REPLACE INTO
或ON DUPLICATE KEY UPDATE
。
MySql不支持MERGE语句,因此需要一个唯一约束或一些外部代码。