1
多列,我有以下表MySQL的唯一鍵無法正常運行包含一個主鍵
table `thing` {
id
other_id
another_id
text
primary key (id)
unique key (id, other_id, another_id)
}
數據
id | other_id | another_id | text
---|----------|------------|---------------
4 | 1 | 3 | This is text
5 | 1 | 3 | More text
然後我運行下面的查詢
INSERT INTO thing (id, other_id, another_id, text) VALUES ('5','1','4','A new row')
ON DUPLICATE KEY UPDATE
text = VALUES(text)
而不是插入新行(因爲值5,1,4是唯一的),ID 5的行將更新爲新文本。
它就好像獨特的密鑰被忽略一樣。
是的。主鍵是唯一的。所以,'5'已經存在,因此'ON DUPLICATE KEY'會更新現有的行。 – Kenney
請在查詢的第一個'value'之前添加換行符 – Blag