Du kan infoga en rad efter en specifik rad i MySQL med följande metoder:
1. Använda `infoga i ... välj ...` med en underkvalitet:
Den här metoden innebär att du väljer de data du vill infoga och använda dem i uttalandet "Infoga i". Du kan uppnå detta genom att använda en underkvalitet för att välja raden innan den önskade införingspunkten och sedan använda klausulen "Limit" för att ange en enda rad:
`` `SQL
Sätt i din_table (kolumn1, kolumn2, ...)
Välj kolumn1, kolumn2, ...
Från din_table
Där condition_for_the_row_before_insertion
Gräns 1;
Sätt i din_table (kolumn1, kolumn2, ...)
Värden ('new_value1', 'new_value2', ...);
`` `
Förklaring:
1. Den första frågan väljer raden före den önskade insättningspunkten baserat på `condition_for_the_row_before_insertion`.
2. Klausulen `gräns 1 'säkerställer att endast en enda rad är vald.
3. Den andra frågan sätter in de nya värdena du vill lägga till.
Exempel:
Låt oss säga att du vill infoga en ny rad efter raden med `ID =3` i tabellen 'Användare'.
`` `SQL
Sätt i användare (namn, e -post)
Välj namn, e -post
Från användare
Där id =3
Gräns 1;
Sätt i användare (namn, e -post)
Värden ('ny användare', '[email protected]');
`` `
2. Använda `Insert efter '(MySQL 8.0.23 och högre):
Denna metod är mer kortfattad och enkel än den föregående. Den anger direkt raden varefter du vill infoga den nya raden.
`` `SQL
Infoga efter din_table
Ställ in kolumn1 ='new_value1', column2 ='new_value2', ...
Där condition_for_the_row_before_insertion;
`` `
Förklaring:
1. `Infoga efter din_Table` anger tabellen där du vill infoga den nya raden.
2. `Ställ in kolumn1 ='new_value1', kolumn2 ='new_value2', ...` definierar värdena för kolumnerna i den nya raden.
3. `där Condition_for_The_Row_Fore_Insertion` anger raden varefter du vill infoga den nya raden.
Exempel:
`` `SQL
Infoga efter användare
Set name ='ny användare', e -post ='[email protected]'
Där id =3;
`` `
Viktiga anteckningar:
* Auto-Incrementing Primary Keys: Om ditt tabell har en auto-inkrementerande primär nyckel kommer den nya raden att infogas med nästa tillgängliga primära nyckelvärde. Du kan behöva justera det auto-inkrementerande värdet om du behöver infoga den nya raden med ett specifikt primärt nyckelvärde.
* Tabellstruktur: Se till att kolumnerna och datatyperna i klausulen "Värden" matchar motsvarande kolumner i tabellen.
Välj den metod som bäst passar dina behov och kodningsstil. Båda metoderna uppnår samma resultat, men "Insert After" -syntaxen är mer kortfattad och kan föredras för nyare versioner av MySQL.