所以假设有一张桌子:
id column1 column2
1 333 4444
其中 id 是主键
然后我做
REPLACE INTO table (id, column2) VALUES (1, 55)
这将导致 column1 变为空......有没有办法指定查询,以便在 REPLACE 匹配现有条目时保留 column1 的任何现有值?
使用INSERT ... ON DUPLICATE KEY UPDATE
:
INSERT INTO table (id, column2) VALUES (1, 55)
ON DUPLICATE KEY UPDATE column2 = VALUES(column2)
根据 MySQL docs,不,你不能。但是您可以在 DUPLICATE KEY UPDATE 上插入 ...。