我有一點問題。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) - 不知道我是否錯過了那裏的東西 –