2012-03-16 124 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