带有重复键的MySQL查询?

时间:2012-03-16 11:53:41

标签: mysql

我第一次尝试duplicate key在一个查询中插入和更新。我的查询出了什么问题?

INSERT INTO tabletest(batchID, purchaseID) 
VALUES (553155, 892) ON DUPLICATE KEY 
UPDATE purchaseID = VALUES(purchaseID)

如果存在唯一purchaseID的batchID,我想插入或更新。在表中,purchaseID是UNIQUE。

1 个答案:

答案 0 :(得分:1)

如果purchaseID是具有UNIQUE约束的列,那么您应该只更新batchID

INSERT INTO tabletest (batchID, purchaseID) 
  VALUES (553155, 892) 
ON DUPLICATE KEY UPDATE 
  batchID = VALUES(batchID)