Heim > Datenbank > MySQL-Tutorial > Wie verhindert man das Einfügen doppelter Daten in MySQL mithilfe von PHP?

Wie verhindert man das Einfügen doppelter Daten in MySQL mithilfe von PHP?

Mary-Kate Olsen
Freigeben: 2024-12-14 17:47:09
Original
344 Leute haben es durchsucht

How to Prevent Duplicate Data Insertion in MySQL Using PHP?

Verhindern des doppelten Einfügens von Daten in die MySQL-Datenbank

In einem Szenario, in dem eine MySQL-Tabelle mit den Spalten id, pageId und name eindeutig bleiben muss Bei Kombinationen aus Seiten-ID und Name ist es von entscheidender Bedeutung, das doppelte Einfügen von Daten zu verhindern. In diesem Artikel werden die Best Practices für den Umgang mit doppelten Einträgen beim Einfügen von Daten mit PHP untersucht.

Schritt 1: Erstellen Sie einen eindeutigen Index

Um die Eindeutigkeit der Kombination aus Seiten-ID und zu erzwingen Namensspalten kann ein Index mit der folgenden SQL-Anweisung erstellt werden:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Nach dem Login kopieren

Schritt 2: Handhabung Duplikate

Wenn beim Einfügen ein doppelter Eintrag auftritt, kann die entsprechende Aktion anhand spezifischer Anforderungen ermittelt werden:

  • Das Duplikat ignorieren:Verwenden Mit der INSERT IGNORE-Anweisung kann der Einfügevorgang fortgesetzt werden, ohne dass das Duplikat eingefügt wird Datensatz.
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
Nach dem Login kopieren
  • Vorhandenen Datensatz überschreiben: Dies kann mithilfe einer INSERT...ON DUPLICATE KEY UPDATE-Anweisung erreicht werden, in der die Aktualisierung bestimmter Spalten angegeben wird für den Fall, dass ein doppelter Schlüssel gefunden wird.
INSERT INTO thetable (pageid, name, somefield)
VALUES (1, "foo", "first")
ON DUPLICATE KEY UPDATE (somefield = 'first')

INSERT INTO thetable (pageid, name, somefield)
VALUES (1, "foo", "second")
ON DUPLICATE KEY UPDATE (somefield = 'second')
Nach dem Login kopieren
  • Aktualisieren Sie a Zähler: Wenn ein doppelter Datensatz als separates Vorkommen betrachtet wird, kann eine Zählerspalte mithilfe der ON DUPLICATE KEY UPDATE-Syntax erhöht werden.
INSERT INTO thetable (pageid, name)
VALUES (1, "foo"), (1, "foo")
ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verhindert man das Einfügen doppelter Daten in MySQL mithilfe von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage