2012-03-16 125 views
0

我第一次尝试duplicate key在一个查询中插入和更新。我的查询有什么问题?MySQL重复键查询?

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

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

回答

1

如果purchaseIDUNIQUE约束之列,那么你应该只更新batchID

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

TX ypercube,完全忽视我没有使用batchID但purchaseID。 – alex 2012-03-16 12:14:08