Frage von Helpyou13, 95

Wie schaffe ich es, dass Datensätze, die ich in meine Tabelle in phpmyadmin einpflege nicht doppelt eingefügt werden?

Hallo zusammen, in meiner phpmyadmin Tabelle werden die Datensätze immer doppelt eingefügt. Habe in einem anderen Forum gelesen, dass nur eine Neuinstallation von xampp helfen kann, das würde ich alledings gern vermeiden. Siehe Bild

Antwort
von wotan38, 24

Die Sätze in Deinem Beispiel sind gar nicht doppelt. Die Sätze unterscheiden sich im Feld id_author. Der eine Satz hat 9, der andere 10 als Wert. Die Datenbank macht nichts von alleine, schon gar nicht das was Du denkst. Du musst minuziös alles festlegen und der Datenbank klare Anweisungen erteilen, was sie zu tun hat. Dann macht die Datenbank das auch.

Zunächst musst Du festlegen, was Du unter doppelt verstehst, d.h. welche Felder einzeln oder im Verbund nicht zweimal vorkommen dürfen. Das hast Du sicher nicht gemacht. Du kannst dazu z.B. für die beiden Felder Vorname und Nachname einen eindeutigen Index (unique index) einrichten oder diese beiden Felder gleich als Primärschlüssel verwenden.

Den Index kannst mit der SQL-Anweisung

CREATE UNIQUE INDEX bezeichnung ON tabelle 
(Vorname, Nachname)

einrichten. Zum Zeitpunkt des Einrichtens darf in der Tabelle kein Satz vorkommen, der laut dem einzurichtenden Index nicht vorkommen dürfte.

Falls Du den Index ändern willst, musst Du ihn zuerst löschen und dann kannst ihn wieder neu einrichten:

DROP INDEX bezeichnung

Der UNIQUE INDEX hat neben der allgemeinen Indexfunktion zum schnellen Suchen noch die Aufgabe, Eingaben zu verhindern, die zu mehreren gleichen Indexeinträgen führen würden. Eine versuchte Eingabe wird ggf. mit einer Fehlermeldung abgebrochen.

Antwort
von thomsue, 57

Mit xampp hat das wenig zu tun, eher mit dem SQL Befehl

Kommentar von Helpyou13 ,

Das heißt? Der wird ja von phpmyadmin aufgerufen.

Kommentar von thomsue ,

Dann machst du vielleicht Reload im Browser? Phpmyadmin macht keine Fehler, dachte INSERT hast du programmiert

Kommentar von Helpyou13 ,

Nein ich hab eine Struktur und über "Einfügen" in phpmyadmin den Datensatz "Test Doppelt" hinzugefügt.

Den Browser neu laden bringt nichts, hat ja nichts mit dem Inhalt der Datenbank zutun.

Kommentar von thomsue ,

Wenn ich über phpmyadmin einen Datensatz einfüge, kommt der sonst nicht doppelt

Kommentar von Helpyou13 ,

Hatte ich sonst auch noch nie, deshalb ja die Frage...

Kommentar von thomsue ,

Dann erscheint der aber nicht zweimal

Kommentar von Helpyou13 ,

Doch, dass siehst du doch oben ! Und hatte wie gesagt dazu auch einen Forenbeitrag gefunden.

Mir ist das auch schon mal an einem anderen PC passiert.

Kommentar von thomsue ,

Reload führt ggf den SQL Befehl noch mal durch

Kommentar von Helpyou13 ,

Ich habe den Fehler gefunden, habe immer ausversehen bei der SQl Vorschau nochmal OK gedrückt, dann wurde der Befehl tatsächlich zwei Mal ausgeführt.

Kommentar von thomsue ,

Hm, dann wäre es ja wirklich ein Bug

Kommentar von thomsue ,

😂 👍

Keine passende Antwort gefunden?

Fragen Sie die Community