Einfügen in die Tabelle

14410

Benutzer
Beiträge
10
Guten Tag,

ich habe noch nicht sonderlich viel Erfahrung mit MySQL und habe ein kleines Problem.
Wenn ich mittels PHP Skript Daten eintrage, werden die Daten nicht eingetragen.
Wenn ich in der gleichen Tabelle jedoch vorher TRUNCATE durchlaufen lasse und die Tabelle leere, werden die Sachen eingefügt.
Sprich:
Wenn in einer Tabelle schon Daten vorhanden sind, dann kann ich per INSERT keine neuen Daten hinzufügen, jedoch wenn die gleiche Tabelle vorher mit TRUNCATE geleert wurde, werden alle Daten, inklusive der neuen, in die Tabelle eingefügt.

Kann mir da einer schnell helfen?

LG
 
Werbung:
Das ist richtig, duplicate primary kommt, jedoch ist der Primärschlüssel eigentlich unterschiedlich.
Er trägt ja auch alles ein, wenn ich vorher TRUNCATE durchlaufen lasse.
Kannst du mir das ganze genauer erklären?
 
Ich glaube selbst MySQL denkt sich diese Fehlermeldung nicht einfach aus, es wird/werden also tatsächlich ein oder mehrere unzulässige PKs sein.
 
Das Konzept ist mir klar, nur wieso kommt die Fehlermeldung, obwohl es verschiedene Nummern im Primärschlüssel sind? Außerdem erschließt sich mir nicht, wieso er das einträgt, wenn ich vorher einen TRUNCATE benutze.
 
Durch das Truncate ist die Tabelle leer. Verher versucht Du, bereits vorhandene PK's noch einmal einzutragen.

Mehr ist in der ungeputzten Glaskugel nicht zu erkennen. Aber vielleicht in Deinen Fehlermeldungen, die Du ja offenbar in den Skat gedrückt hast.
 
Duplicate entry 'idy.02.0000000740' for key 'PRIMARY'

idy.02.0000000740 zum Beispiel gehört zu einem Datensatz, den ich dann neu eintragen will, jedoch gibt es in der Tabelle keinen Eintrag mit dem PK idy.02.0000000740'.
Wenn ich jetzt jedoch die Tabelle leere und nochmal es reinschreiben lasse, ist idy.02.0000000740 eingetragen.
 
Mag ich schon mal nicht für einen PK. Aber das spielt hier wohl eher keine Rolle. Aus den gegebenen Informationen bisher kann ich alles in allem nur sagen: PEBKAC. Ich gehe davon aus, daß Du uns den relevanten Teil, der den Fehler versursacht, verheimlichst. Vielleicht würde der uns ja aber auch verunsichern...
 
PEBKAC?
Wieso sollte ich einen Fehler verheimlichen wollen?
Das ist das, was ich bisher daraus schließe.
Vor dem INSERT Befehl läuft erst ein Update, ist das irgendwie relevant?
 
Werbung:
Och ich Idiot, das hängt wohl mit einer if-Bedingung vorher zusammen.
Ich habs wohl gefunden jetzt.
Ich danke für eure Hilfe, die unerwartet schnell in diesem Forum kommt!

LG
 
Zurück
Oben