Heim > Datenbank > MySQL-Tutorial > Wie füge ich neue Datensätze in MySQL ein und verarbeite gleichzeitig doppelte Einträge?

Wie füge ich neue Datensätze in MySQL ein und verarbeite gleichzeitig doppelte Einträge?

DDD
Freigeben: 2024-12-28 04:55:13
Original
422 Leute haben es durchsucht

How to Insert New Records into MySQL While Handling Duplicate Entries?

Einfügen neuer Datensätze unter Ignorieren doppelter Einträge in MySQL

In PHP kann es vorkommen, dass Sie mehrere Datensätze in ein einfügen müssen Datenbank mit eindeutigen Feldern. Um sicherzustellen, dass nur neue Datensätze eingefügt werden, ohne dass doppelte Eingabefehler auftreten, sollten Sie die folgenden Ansätze in Betracht ziehen:

1. INSERT... IGNORE-Syntax

Diese Syntax ermöglicht es MySQL, doppelte Einträge zu ignorieren, ohne Fehler auszulösen. Zum Beispiel:

INSERT IGNORE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
Nach dem Login kopieren

2. REPLACE INTO-Syntax

Im Gegensatz zu INSERT... IGNORE überschreibt die REPLACE INTO-Syntax vorhandene Datensätze mit demselben Schlüsselwert. Dies kann nützlich sein, wenn Sie die Werte vorhandener Datensätze aktualisieren möchten:

REPLACE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
Nach dem Login kopieren

3. INSERT... ON DUPLICATE KEY UPDATE Syntax

Mit dieser Syntax können Sie eine Aktualisierungsanweisung angeben, die ausgeführt werden soll, wenn ein doppelter Schlüssel gefunden wird. Um beispielsweise den Wert einer Spalte in einem doppelten Datensatz zu aktualisieren:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column2 = newValue;
Nach dem Login kopieren

Beispiele

Angenommen, Sie haben eine Tabelle namens tbl mit den Spalten id und value, mit dem Datensatz>

  • REPLACE INTO

    REPLACE INTO tbl VALUES (1, 50);
    Nach dem Login kopieren

    Dies würde den Datensatz aktualisieren mit>

  • INSERT IGNORE

    INSERT IGNORE INTO tbl VALUES (1, 10);
    Nach dem Login kopieren

    Dies würde das ignorieren Doppelter Eintrag und es würde kein Datensatz eingefügt.

  • INSERT... BEI DUPLICATE KEY UPDATE

    INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;
    Nach dem Login kopieren

    Dies würde den Datensatz mit>

aktualisieren

Das obige ist der detaillierte Inhalt vonWie füge ich neue Datensätze in MySQL ein und verarbeite gleichzeitig doppelte Einträge?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage