Du kan indsætte en række efter en bestemt række i MySQL ved hjælp af følgende metoder:
1. Brug af `indsæt i ... Vælg ...` med en underspillet:
Denne metode involverer at vælge de data, du vil indsætte, og bruge dem inden for "Indsæt i" -opgørelsen. Du kan opnå dette ved at bruge et underforespørgsel til at vælge rækken inden det ønskede indsættelsespunkt og derefter bruge klausulen 'grænse' til at specificere en enkelt række:
`` `sql
Indsæt i din_table (kolonne1, kolonne2, ...)
Vælg kolonne1, kolonne2, ...
Fra din_table
Hvor condition_for_the_row_before_insertion
Grænse 1;
Indsæt i din_table (kolonne1, kolonne2, ...)
Værdier ('new_value1', 'new_value2', ...);
`` `
Forklaring:
1. den første forespørgsel vælger rækken inden det ønskede indsættelsespunkt baseret på `Condition_for_The_Row_Before_Instion '.
2.. Klausulen "Limit 1" sikrer, at kun en enkelt række er valgt.
3. den anden forespørgsel indsætter de nye værdier, du vil tilføje.
Eksempel:
Lad os sige, at du vil indsætte en ny række efter rækken med `id =3'i tabel 'Brugere'.
`` `sql
Indsæt i brugere (navn, e -mail)
Vælg navn, e -mail
Fra brugere
Hvor id =3
Grænse 1;
Indsæt i brugere (navn, e -mail)
Værdier ('ny bruger', '[email protected]');
`` `
2. Brug af `indsæt efter '(MySQL 8.0.23 og derover):
Denne metode er mere kortfattet og ligetil end den foregående. Den specificerer direkte den række, hvorefter du vil indsætte den nye række.
`` `sql
Indsæt efter din_table
Indstil kolonne1 ='New_Value1', Column2 ='New_Value2', ...
Hvor condition_for_the_row_before_inssertion;
`` `
Forklaring:
1. `Indsæt efter din_table` Angiv tabellen, hvor du vil indsætte den nye række.
2.. `Sæt kolonne1 ='New_Value1', Column2 ='New_Value2', ... 'definerer værdierne for kolonnerne i den nye række.
3.. `Hvor Condition_For_The_Row_Before_Instion` specificerer den række, hvorefter du vil indsætte den nye række.
Eksempel:
`` `sql
Indsæt efter brugere
Indstil navn ='Ny bruger', e -mail ='[email protected]'
Hvor id =3;
`` `
Vigtige noter:
* Auto-incrementing Primære nøgler: Hvis din tabel har en auto-inkrementerende primær nøgle, indsættes den nye række med den næste tilgængelige primære nøgleværdi. Det kan være nødvendigt at justere den auto-incrementerende værdi, hvis du har brug for at indsætte den nye række med en specifik primær nøgleværdi.
* Tabelstruktur: Sørg for, at kolonnerne og datatyperne i klausulen 'Værdier stemmer overens med de tilsvarende kolonner i tabellen.
Vælg den metode, der bedst passer til dine behov og kodningsstil. Begge metoder opnår det samme resultat, men 'Indsæt efter' syntaks er mere kortfattet og foretrækkes muligvis til nyere versioner af MySQL.