我有一个表定义为:
----------------------------------------
| a (VARCHAR) | b (DATE) | c (INT) |
----------------------------------------
将INDEX定义为:
CREATE INDEX table_index ON table (a,b);
运行以下代码时:
INSERT INTO test_table
(a,b,c)
VALUES
('test', '2017-10-06 08:00:00', 1)
ON DUPLICATE KEY UPDATE
c = c + VALUES(c);
每次调用上述查询时都会创建一个新行,我希望在表上执行更新操作。即如果列a和b相同,我希望c更新,否则创建一个新行。
为什么ON DUPLICATE KEY不起作用?