2011-07-17 21 views
0

私は次のクエリを実行しています...私が実行している問題は、idフィールドを0-27の行で適切に保存していますが、行を複製しようとしています何故これが行0を複製しようとしているのか?あなたのUPDATE id = NULLUPDATE id = 0にキャストされるようにMySQL:重複した主キーの更新問題に挿入

INSERT INTO 
     deal (`id`, `site_id`) 
     VALUES (NULL, 1) 
ON DUPLICATE KEY UPDATE `id` = NULL,`site_id` = 1 
+1

取引テーブルとは何ですか?クエリの目的は何ですか? –

+0

は* site_id * UNIQUEですか? 'ON DUPLICATE KEY'のポイントは何ですか?それぞれのINSERTで新しい* id *を取得します。 – nobody

答えて

2

また、明示的シーケンス番号を生成するために、列にNULLまたは0を割り当てることができます。

したがって、(0,'whatever')を入力すると、('the next autoincrement id','whatever')と表示されます。 MySQLに関する重大な問題はありません。これを回避するには、NO_AUTO_VALUE_ON_ZEROを使用します。識別子として0を使用することはお勧めできません。

関連する問題