Du kan sette inn en rad etter en bestemt rad i MySQL ved hjelp av følgende metoder:
1. Bruk `Sett inn ... velg ...` Med en undervisning:
Denne metoden innebærer å velge dataene du vil sette inn og bruke dem i `Sett inn i` -setningen. Du kan oppnå dette ved å bruke en undervisning for å velge raden før ønsket innsettingspunkt og deretter bruke `Limit` -leddet for å spesifisere en enkelt rad:
`` SQL
Sett inn i din_table (kolonne1, kolonne2, ...)
Velg kolonne1, kolonne2, ...
Fra din_table
Hvor condition_for_the_row_before_insertion
Grense 1;
Sett inn i din_table (kolonne1, kolonne2, ...)
Verdier ('new_value1', 'new_value2', ...);
`` `
Forklaring:
1. Den første spørringen velger raden før ønsket innsettingspunkt basert på `condition_for_the_row_before_insertion`.
2. `Limit 1` -klausulen sikrer at bare en enkelt rad er valgt.
3. Den andre spørringen setter inn de nye verdiene du vil legge til.
Eksempel:
La oss si at du vil sette inn en ny rad etter raden med `id =3` i` brukere -tabellen.
`` SQL
Sett inn brukere (navn, e -post)
Velg navn, e -post
Fra brukere
Hvor id =3
Grense 1;
Sett inn brukere (navn, e -post)
Verdier ('ny bruker', '[email protected]');
`` `
2. Bruk `Sett inn etter` (MySQL 8.0.23 og over):
Denne metoden er mer kortfattet og grei enn den forrige. Den spesifiserer direkte raden hvor du vil sette inn den nye raden.
`` SQL
Sett inn etter din_table
Sett kolonne1 ='new_value1', kolonne2 ='new_value2', ...
Hvor condition_for_the_row_before_insertion;
`` `
Forklaring:
1. `Sett inn etter din_table` Angir tabellen der du vil sette inn den nye raden.
2. `Sett kolonne1 ='new_value1', kolonne2 ='new_value2', ...` definerer verdiene for kolonnene i den nye raden.
3. `Where Condition_for_the_row_before_insertion` spesifiserer raden hvor du vil sette inn den nye raden.
Eksempel:
`` SQL
Sett inn etter brukere
Sett navn ='Ny bruker', e -post ='[email protected]'
Hvor id =3;
`` `
Viktige merknader:
* Auto-incrementing primærnøkler: Hvis tabellen din har en automatisk inkrementerende primærnøkkel, vil den nye raden bli satt inn med den neste tilgjengelige primære nøkkelverdien. Det kan hende du må justere den automatiske incrementing-verdien hvis du trenger å sette inn den nye raden med en spesifikk primær nøkkelverdi.
* Tabellstruktur: Forsikre deg om at kolonnene og datatypene i `Verdier` -klausulen samsvarer med de tilsvarende kolonnene i tabellen.
Velg metoden som passer best for dine behov og kodingsstil. Begge metodene oppnår samme resultat, men `innsatsen etter` syntaks er mer kortfattet og kan være å foretrekke for nyere versjoner av MySQL.