我有一個表中有多個列。我有一個獨特的列,如果條目重複到此列我想要更新兩列,否則插入新行。我在php中使用單獨的函數,但爲了簡單起見,我將共享mysql代碼。在這種情況下col1是固定的。插入行如果col1不重複。但是,即使col1重複,這也會插入一個新行。 col4也可以爲空。所有的SO問題都沒有解決我的問題。mysql更新表列如果一個固定列是重複的
INSERT INTO table1
(col1, col2, col3, col4)
VALUES
('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
col2=VALUES(col2)
col3=VALUES(col3)
確認你確實在col1上有一個唯一的密鑰......除非唯一的密鑰被違反,否則你將永遠不會觸發重複的東西。 –