2012-03-29 16 views
5

Ich habe eine Favoritentabelle mit einigen Feldern wie login_id, driver_id (eine login_id kann viele driver_id haben). Dann verwende ich Bulk-Update, keine Überprüfung der Treiber-ID ist in der Tabelle vorhanden.Skip-Einfügung auf doppelten Eintrag in Mysql

Eingabedaten werden von Treiber-IDs gesetzt, ich muss die Einfügung der Treiber-ID überspringen, wenn dieselbe ID bereits für relevante login_id da ist. So werden die neuen IDs eingefügt und andere sind nicht

Was kann ich mit MySQL tun, was sind alle Einstellungen in der Tabelle benötigt.

Bitte teilen Sie mir

Antwort

11

Sie können "INSERT IGNORE INTO" verwenden, um die Anzahl der zurückgegebenen Zeilen zurückzugeben.

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

einen eindeutigen Schlüssel mit login_id und driver_id in MySQL erstellen.

Wenn Sie versuchen, einen vorhandenen Datensatz basierend auf diesen Schlüsseln einzufügen, wird ein Fehler ausgegeben. Sie können diesen Fehler dann abfangen und wie gewohnt fortfahren.

CREATE UNIQUE INDEX unique 
    ON tbl_name (login_id, driver_id) 
Verwandte Themen