2012-03-29 20 views
5

私は、login_id、driver_idのようないくつかのフィールドを含む好みのテーブルを持っています(1つのlogin_idには多くのdriver_idがあるかもしれません)。次に、一括更新を使用していますが、driver_idがテーブルに存在するかどうかは確認されません。mysqlの重複エントリの挿入をスキップ

入力データにドライバIDが設定されます。関連するlogin_idに同じIDが既に存在する場合は、ドライバIDの挿入をスキップする必要があります。新しいIDが挿入され、他のIDは挿入されません

テーブルで必要な設定は何ですか?

MySQLでLOGIN_IDとdriver_idを持つユニークなキーを作成してくれ

答えて

11

「INSERT IGNORE INTO」.itの戻り値の更新された行数を使用できます。

INSERT IGNORE INTO favorite(login_id,driver_id) VALUES (login_id,driver_id) (login_id,driver_id)..... 
1

を教えてください。

これらのキーに基づいて既存のレコードを挿入しようとすると、エラーがスローされます。その後、このエラーをトラップして通常どおりに処理することができます。

CREATE UNIQUE INDEX unique 
    ON tbl_name (login_id, driver_id) 
関連する問題