3 Stimmen

den Primärschlüssel nach einem DUPLICATE KEY-Fehler erhalten?

Wenn ich eine Einfügeabfrage ausführen, aber es schlägt fehl, weil der doppelte Schlüssel Fehler gibt es eine Möglichkeit, seine Primärschlüssel zu erhalten, ohne eine andere Auswahl zu tun?

Im Grunde genommen:

INSERT INTO tbl (field) VALUES ('myvalue')

Dies schlägt fehl, weil es bereits einen Datensatz mit ID:1 und Feld:myvalue gibt.

Jetzt möchte ich die ID:1 wissen, ohne eine weitere Abfrage zu machen:

SELECT id FROM tbl WHERE field = 'myvalue'

Ist das möglich?

2voto

Christopher Masser Punkte 809

Hier ist ein Link, der vier verschiedene Möglichkeiten aufzeigt, damit umzugehen: http://mikefenwick.com/blog/insert-into-database-or-return-id-of-duplicate-row-in-mysql/

0voto

Vipin Jain Punkte 1332

Jede Bibliothek enthält eine Bestimmung, um die ID der eingefügten Zeile zu erhalten.

Wie: für einfache mysql_query() verwenden. mysql_insert_id() danach, um die ID der zuletzt eingefügten Zeile zu erhalten

Siehe diesen Link

EDITAR:

Bitte überprüfen Sie, ob Sie den eindeutigen Index für field Spalte.

Wenn ja, können Sie kein Duplikat in die Spalte einfügen. field

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X