我有个小问题。
这是我得到的 SQL 代码:
INSERT INTO matches (match_id, league_name, league_id, test_one)
VALUES (866860, 'Portugal',1,'testing')
ON DUPLICATE KEY
UPDATE league_name =
CASE match_id
WHEN 866860
THEN 'Portugal' END,
league_id =
CASE match_id
WHEN 866860
THEN 1 END,
test_one =
CASE match_id
WHEN 866860
THEN 'testing' END
问题是,它总是插入新行而不是更新现有行。是不是因为我需要将“match_id”设置为 AUTO_INCREMENT
或其他任何内容(目前,我的“id”字段是 AUTO_INCREMENT
)
AUTO_INCREMENT
与此处无关。但是ON DUPLICATE KEY需要一把 key 。更具体地说,唯一键,例如主键或唯一索引。
根据列名,我怀疑 match_id
不是主键。
更新:您还编写了一组复杂的CASE ... END
结构。看看 VALUES()功能。
我是一名优秀的程序员,十分优秀!