INSERT ... ON DUPLICATE KEY UPDATE .....有两个关键字段

时间:2010-11-24 22:31:15

标签: mysql

我有一个包含三个字段的表

field_one field_two field_three

我想进行插入/更新,但不是检查其中一个关键字段是否已存在,而是检查数据库中是否已存在(field_one,field_two)组合,如果是,则更新插入

3 个答案:

答案 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 INTOON DUPLICATE KEY UPDATE

MySql不支持MERGE语句,因此需要一个唯一约束或一些外部代码。