Sie können nach einer bestimmten Zeile in MySQL eine Zeile mit den folgenden Methoden einfügen:
1. Verwenden Sie `in ... SELECT ...` mit einer Unterabfrage:
Diese Methode umfasst die Auswahl der Daten, die Sie einfügen möchten, und diese in der Anweisung "Insert in" in "einfügen". Sie können dies erreichen, indem Sie eine Unterabfrage verwenden, um die Zeile vor dem gewünschten Insertionspunkt auszuwählen und dann die "Limit" -Klausel zu verwenden, um eine einzelne Zeile anzugeben:
`` `SQL
In Your_table einfügen (Spalte1, Spalte2, ...)
Wählen Sie Spalte1, Spalte2, ...
Von your_table
Wo Condition_for_the_row_before_insertion
Grenze 1;
In Your_table einfügen (Spalte1, Spalte2, ...)
Values ('new_value1', 'new_value2', ...);
`` `
Erläuterung:
1. Die erste Abfrage wählt die Zeile vor dem gewünschten Insertionspunkt basierend auf dem `condition_for_the_row_before_insertion` aus.
2. Die Klausel von "Limit 1" stellt sicher, dass nur eine einzelne Zeile ausgewählt ist.
3. Die zweite Abfrage fügt die neuen Werte ein, die Sie hinzufügen möchten.
Beispiel:
Angenommen, Sie möchten nach der Zeile mit `id =3` in der Tabelle" Benutzer "eine neue Zeile einfügen.
`` `SQL
In Benutzer einfügen (Name, E -Mail)
Wählen Sie Name, E -Mail
Von Benutzern
Wobei id =3
Grenze 1;
In Benutzer einfügen (Name, E -Mail)
Werte ('neuer Benutzer', '[email protected]');
`` `
2. Verwenden Sie `Insert After` (MySQL 8.0.23 und höher):
Diese Methode ist prägnanter und einfacher als die vorherige. Es gibt direkt die Zeile an, nach der Sie die neue Zeile einfügen möchten.
`` `SQL
Fügen Sie nach Ihrem_table ein
Setzen
Wo Condition_for_the_row_before_insertion;
`` `
Erläuterung:
1. `Einfügen nach Ihrem_table` Gibt die Tabelle an, in der Sie die neue Zeile einfügen möchten.
2. `set Column1 ='new_value1', Spalte2 ='new_value2', ...` definiert die Werte für die Spalten in der neuen Zeile.
3.. `Wobei Condition_for_the_row_before_insertion` die Zeile angibt, nach der Sie die neue Zeile einfügen möchten.
Beispiel:
`` `SQL
Nach Benutzern einfügen
Setzen Sie name ='neuer Benutzer', E -Mail ='[email protected]' '
Wobei id =3;
`` `
Wichtige Hinweise:
* automatische Inkrementierung der Primärschlüssel: Wenn in Ihrer Tabelle einen automatischen Inkrementierungs-Primärschlüssel enthält, wird die neue Zeile mit dem nächsten verfügbaren Primärschlüsselwert eingefügt. Möglicherweise müssen Sie den automatischen Inkrementwert einstellen, wenn Sie die neue Zeile mit einem bestimmten Primärschlüsselwert einfügen müssen.
* Tabellenstruktur: Stellen Sie sicher, dass die Spalten und Datentypen in der Klausel "Werte" den entsprechenden Spalten in der Tabelle übereinstimmen.
Wählen Sie die Methode, die Ihren Anforderungen und Ihren Codierungsstil am besten entspricht. Beide Methoden erzielen das gleiche Ergebnis, aber der "Insert After" -Syntax ist prägnanter und kann für neuere Versionen von MySQL bevorzugt werden.