MySQL - So fügen Sie eine neue Zeile nur ein, wenn keine Daten vorhanden sind

MySQL - So fügen Sie eine neue Zeile nur ein, wenn keine Daten vorhanden sind
MySQL ist ein berühmter Open-Source-RDBM, um Daten in Datenbanken zu speichern. Das Einfügen von Daten in Tabellen Ihrer Datenbank ist eine übliche Aufgabe. Manchmal möchten Benutzer keine doppelten Daten einfügen, um Redundanz zu beseitigen. Mit MySQL können Benutzer Daten nur einfügen, wenn ähnliche Daten noch nicht vorhanden sind.

In diesem Beitrag werden nur dann das Einfügen einer neuen Zeile besprochen, wenn Daten in der MySQL -Tabelle nicht bereits vorhanden sind. Stellen Sie vor Beginn mit diesem Beitrag sicher, dass Sie auf Ihrem MySQL Local Server angemeldet sind, und haben eine Datenbank ausgewählt, in der Sie arbeiten möchten.

Fügen Sie eine neue Zeile nur ein, wenn Daten nicht mit der Anweisung "Ignorieren ignorieren" vorhanden sind

Nun, die Antwort auf die Frage im Titel ist ziemlich einfach und unkompliziert. Benutze einfach das “EINFÜGUNG"Schlüsselwort zusammen mit dem"IGNORIEREN" Stichwort. Dadurch wird sichergestellt. Um einen kurzen Überblick darüber zu erhalten, werfen Sie einen Blick auf die folgende Syntax:

Ignorieren Sie Ignorieren in [Tabellenname] ([Spalten1-Name], [Spalte2-Name], [Spalte3-Name]) Werte ([value1], [value2], [value3]);

Sehen wir uns ein Beispiel an, wenn der Benutzer einen Zeilenwert eingeben möchte "1","John" Und "Damhirschkuh" im "Kunde"Tabelle für die Spalten"Ausweis,""Vorname" Und "Familienname, Nachname" bzw. Führen Sie diese Abfrage aus, um diese Werte einzufügen, wenn keine Zeile mit diesen Werten bereits vorhanden ist:

Wählen Sie * vom Kunden aus;
Ignorieren Sie in den Kunden (ID, FirstName, LastName) Werte (1, 'John', 'doe');

Die Ausgabe enthält zwei Tabellen, in denen Daten der Tabelle vor und nach der Ausführung der Abfrage angezeigt werden. Sie können feststellen, dass sich in der Tabelle nichts ändert, da die Zeile bereits existierte, sodass MySQL den Einfügungsvorgang erfolgreich ignoriert hat, ohne den Fehler anzuzeigen:

Fügen Sie eine neue Zeile nur ein, wenn Daten nicht mit der Klausel „Wo nicht existieren“ vorhanden sind

In MySQL, die “WO NICHT EXISTIERENKlausel verhindert das Einsetzen von Zeilen, wenn sie bereits in der Tabelle vorhanden sind, wenn sie in der “verwendet wird“EINFÜGEN IN”Aussage mit einer Unterabfrage, um eine Bedingung zu definieren. Wenn diese Klausel mit der Unterabfrage verwendet wird “(Select * aus [Tabellenname] [Spaltenname] = [Ausdruck]);”Überprüft, ob in der Tabelle eine Zeile vorhanden ist, die den Zustand erfüllt. Wenn eine Reihe existiert, die “Wo nicht existiert"Klausel gibt einen falschen Wert zurück und die"WÄHLEN”Anweisung gibt keine Zeilen zurück. Infolgedessen wird die Zeile nicht in die Tabelle eingefügt. Die Syntax ist unten bereitgestellt:

In [Tabellenname] einfügen ([Spalten1-Name], [Column2-Name], [Column3-Name]))
Wählen Sie [value1], [value2], [value3]
Wo nicht existiert (aus [Tabellenname] [Spaltenname] = [Ausdruck]);

Sehen wir uns ein Beispiel an, wenn der Benutzer eine Zeile in die Mitarbeitertabelle einfügen möchte, die Werte enthält1","Americanas" Und "Henriot"In den Spalten"Ausweis","Name der Firma" Und "Kontaktname" bzw. Aber nur wenn eine Reihe mit einer ID von “1Ist nicht in der Tabelle gefunden oder es ist nicht existiert. In diesem speziellen Fall wird die Abfrage:

Wählen Sie * vom Mitarbeiter aus;
In den Mitarbeiter einfügen (ID, FirmaName, ContactName)
Wählen Sie 1, "Americanas", "Henriot"
Wo nicht existiert (wählen Sie * vom Mitarbeiter aus, wobei ID = 1);

Die Ausgabe zeigt eine neue Zeile an, die nicht als Zeile mit der “eingefügt wirdAusweis" gleich "1" existierte bereits.

Fügen Sie eine neue Zeile nur ein, wenn Daten nicht mit der Klausel „Auf doppelte Schlüsselaktualisierung“ vorhanden sind

Eine andere Möglichkeit besteht darin, die zu verwenden, die “Auf doppelter SchlüsselaktualisierungKlausel in MySQL. Da diese Klausel mit der Abfrage „Insert“ verwendet wird, die eine Ausführung „If-ELSE“ bildet. Dies bedeutet also, dass die Daten in der Tabelle nur aktualisiert werden, wenn sie eindeutig sind. Andernfalls würde keine Änderung auftreten. Die allgemeine Syntax dafür lautet wie folgt:

In [Tabellenname] ([Spalte1-Name], [Spalten2-Name], [Spalten3-Name]) Werte ([value1], [value2], [value3]) einfügen
Auf doppelte Schlüsselaktualisierung [Spalten1-Name] = [Spalten1-Name];

Sehen wir uns ein Beispiel an, um Werte in “einzufügen“2","Pascale","Nixon","London","Vereinigtes Königreich" Und “(171) 555-7788" in der Tabelle "Kunde"Für die Spalten"Ausweis","Vorname","Familienname, Nachname","Stadt","Land" Und "Telefon" bzw. Wenn die Zeile nicht bereits vorhanden ist, wird sie eingefügt. Andernfalls aktualisiert es die Werte, bei denen die “Id = idBedingung trifft sich. Führen Sie diese Abfrage aus:

Wählen Sie * vom Kunden aus;
In den Kunden einfügen (ID, FirstName, Lastname, Stadt, Land, Telefon)
Werte (2, 'Pascale', 'Nixon', 'London', 'UK', (171) 555-7788 ')
Auf doppelter Schlüsselaktualisierung ID = ID;

Dies ist die Tabelle, bevor Sie die Abfrage ausführenAusweis" gleich "2" ist nicht vorhanden:

Nach dem Ausführen der Abfrage fügt diese Abfrage neue Zeilen in die Tabelle ein:

Sie haben erfolgreich eine neue Zeile eingefügt, da Daten vor dem Ausführen der Abfrage nicht vorhanden sind.

Abschluss

Fügen Sie in MySQL nur eine neue Zeile ein, wenn Daten nicht bereits mit der “vorhanden sindIgnorieren ignorieren”Aussage oder“Wo nicht existiert”Klausel in“EINFÜGEN IN" Stellungnahme. Eine andere Möglichkeit, dies zu tunAuf doppelter Schlüsselaktualisierung”Klausel in“EINFÜGEN IN”Erklärung zum Aktualisieren, wenn die Zeile bereits vorhanden ist. Andernfalls fügen Sie eine neue Zeile hinzu. In dem Beitrag wurde besprochen, wie man eine neue Zeile nur einfügt, wenn keine Daten vorhanden sind.