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

Doppelter Eintrag - (programmieren, IT, PHP)

2 Antworten

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.

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

Helpyou13 
Fragesteller
 02.05.2016, 10:32

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

0
thomsue  02.05.2016, 10:33

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

0
Helpyou13 
Fragesteller
 02.05.2016, 10:36
@thomsue

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.

0
thomsue  02.05.2016, 10:36

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

0
Helpyou13 
Fragesteller
 02.05.2016, 10:37
@thomsue

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

0
thomsue  02.05.2016, 10:37

Dann erscheint der aber nicht zweimal

0
Helpyou13 
Fragesteller
 02.05.2016, 10:39
@thomsue

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.

0
thomsue  02.05.2016, 10:38

Reload führt ggf den SQL Befehl noch mal durch

0
Helpyou13 
Fragesteller
 02.05.2016, 10:41
@thomsue

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.

0
thomsue  02.05.2016, 10:40

Hm, dann wäre es ja wirklich ein Bug

0
thomsue  02.05.2016, 12:08

😂 👍

1