Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Einfügen in die Tabelle

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von 14410, 16 Dezember 2015.

  1. 14410

    14410 Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Fehlermeldung?

    Meine ungeputzte Glaskugel läßt duplicate primary key durchschimmern ...
     
  3. 14410

    14410 Benutzer

    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?
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Was genau hast an dem Konzept eines Primary Keys bis jetzt nicht verstanden?
     
  5. ukulele

    ukulele Datenbank-Guru

    Ich glaube selbst MySQL denkt sich diese Fehlermeldung nicht einfach aus, es wird/werden also tatsächlich ein oder mehrere unzulässige PKs sein.
     
  6. 14410

    14410 Benutzer

    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.
     
  7. akretschmer

    akretschmer Datenbank-Guru

    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.
     
  8. 14410

    14410 Benutzer

    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.
     
  9. akretschmer

    akretschmer Datenbank-Guru

    Tja. Dann hast vielleicht einen weiteren zu den 100 Fantillionen Fehlern in MySQL entdeckt ;-)

    Was issn das für ein Datentyp?
     
  10. 14410

    14410 Benutzer

    Der PK?
    VARCHAR mit einer Begrenzng von 17 Zeichen.
     
  11. akretschmer

    akretschmer Datenbank-Guru

    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...
     
  12. 14410

    14410 Benutzer

    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?
     
  13. akretschmer

    akretschmer Datenbank-Guru

    Problem Exists Between Keyboard And Chair.

    Interessante Frage.

    Vielleicht.
     
  14. ukulele

    ukulele Datenbank-Guru

    Was macht denn das Update?
    Läuft ein Trigger auf der Tabelle?
     
  15. 14410

    14410 Benutzer

    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
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden