我有一点问题。ON DUPLICATE KEY插入新行而不是更新
这是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
)
什么是表格定义?它可能缺少适当的索引。 – ethrbunny
你也可以使用'REPLACE INTO':http://dev.mysql.com/doc/refman/5.0/en/replace.html –
这里是我的结构“match_id”,呼叫应该检查(http:///d.pr/i/XF6Q) - 不知道我是否错过了那里的东西 –