2016-06-21 8 views
-1

Ich verwende Tabellentyp für Masseneinfügung oder Aktualisierung, aber ich bin nicht in der Lage, mit dem Fall einen einzigen Fehler in 100 Datensätze zu behandeln. In diesem Fall für einen Eintrag werden meine 99 Einträge fehlschlagen, was in diesem Fall zu tun ist?Handle Masseneinfügung in sql

+0

Was definiert "ungültig" in Ihrem Fall? Gibt es eine Chance, in diesem Fall keine Aktualisierung zu wählen? – Jan

+0

@Jan ungültig bedeutet, wenn ich falsches Datum wie 1/1/10001 etc. eingegeben habe, nehme ich eine ungefähre Ausnahmebedingung hier..so im Ergebnis meine 99 Enteries werden nicht wegen eines falschen Eintrags aktualisieren .. ich möchte alle aktualisieren gültige Enteries akzeptieren die fehlerhafte eine Transaktion – stylishCoder

+0

Bitte geben Sie weitere Informationen wie: die Fehlermeldung, Tabellenstruktur, einfügen und aktualisieren Befehl ... –

Antwort

0

Sie können nach jeder Aktualisierungsoperation für Aktualisierungsbefehle Commit und verwenden Insert ignorieren in anstelle des Einsatzes in Befehl zum Einsetzen und begehen am Ende. Für eine bessere Performance beim Einfügen können Sie die mysql-spezifische Syntax verwenden:

insert ignore into t1(a,b) values (1,2),(3,4),(5,6); 
+0

was für die Aktualisierung? – stylishCoder

+0

@stylishCoder können Sie nach jedem Update-Befehl festschreiben. Es kann den Betrieb verlangsamen, aber ich habe keine andere Lösung. –

Verwandte Themen