2011-12-14 5 views

答えて

2

別の、より正確なアプローチに変更することですON DUPLICATE KEY UPDATE

LAST_INSERT_ID()を使用することです

INSERT INTO the_table (id) VALUES (1) 
ON DUPLICATE KEY UPDATE 
    id = LAST_INSERT_ID(id); 

このWILテーブルに変更を加えないが、次のLAST_INSERT_ID()の呼び出しは、新しく挿入された項目のIDか、関数に明示的に渡された最後の結果を返します。

0

一つの方法は、あなたがフラグとして使用できるフィールドを追加し、あなたのクエリにON DUPLICATE KEY UPDATE dup = dup+1(または類似)を追加することです。

INSERT IGNORE INTO the_table (id) VALUES (1); 

関連する問題