U kunt een rij invoegen na een specifieke rij in MySQL met behulp van de volgende methoden:
1. Gebruik `invoegen in ... selecteer ...` met een subquery:
Deze methode omvat het selecteren van de gegevens die u wilt invoegen en gebruiken in de instructie 'Invoegen in'. U kunt dit bereiken door een subquery te gebruiken om de rij voor het gewenste invoegpunt te selecteren en vervolgens de clausule `limit` te gebruiken om een enkele rij op te geven:
`` `SQL
Plaats in uw_table (kolom1, kolom2, ...)
Selecteer kolom1, kolom2, ...
Van je_table
Waar conditie_for_the_row_before_insertion
Limiet 1;
Plaats in uw_table (kolom1, kolom2, ...)
Waarden ('new_value1', 'new_value2', ...);
`` `
Verklaring:
1. De eerste query selecteert de rij vóór het gewenste invoegpunt op basis van de `condition_for_the_row_before_insertion`.
2. De clausule `Limit 1` zorgt ervoor dat slechts een enkele rij is geselecteerd.
3. De tweede query voegt de nieuwe waarden in die u wilt toevoegen.
Voorbeeld:
Stel dat u een nieuwe rij na de rij wilt invoegen met `id =3` in de tabel 'gebruikers'.
`` `SQL
Invoegen in gebruikers (naam, e -mail)
Selecteer naam, e -mail
Van gebruikers
Waar ID =3
Limiet 1;
Invoegen in gebruikers (naam, e -mail)
Waarden ('nieuwe gebruiker', '[email protected]');
`` `
2. Met behulp van `insert after` (MySQL 8.0.23 en hoger):
Deze methode is beknopter en duidelijker dan de vorige. Het geeft direct de rij aan waarna u de nieuwe rij wilt invoegen.
`` `SQL
Voeg na uw_table in
Set column1 ='new_value1', column2 ='new_value2', ...
Waar conditie_for_the_row_before_insertion;
`` `
Verklaring:
1. `Invoegen na uw_table` geeft de tabel aan waar u de nieuwe rij wilt invoegen.
2. `Set kolom1 ='new_value1', column2 ='new_value2', ...` definieert de waarden voor de kolommen in de nieuwe rij.
3. `Waar conditie_for_the_row_before_insertion` de rij aangeeft waarna u de nieuwe rij wilt invoegen.
Voorbeeld:
`` `SQL
Plaats na gebruikers
Set name ='nieuwe gebruiker', e -mail ='[email protected]'
Waar id =3;
`` `
belangrijke opmerkingen:
* Auto-toenemende primaire toetsen: Als uw tabel een auto-toenemende primaire sleutel heeft, wordt de nieuwe rij ingevoegd met de volgende beschikbare primaire sleutelwaarde. Mogelijk moet u de auto-toenemende waarde aanpassen als u de nieuwe rij met een specifieke primaire sleutelwaarde moet invoegen.
* Tabelstructuur: Zorg ervoor dat de kolommen en gegevenstypen in de clausule `waarden 'overeenkomen met de overeenkomstige kolommen in de tabel.
Kies de methode die het beste bij uw behoeften en coderingsstijl past. Beide methoden bereiken hetzelfde resultaat, maar de 'Insert after' Syntax is beknopter en kan de voorkeur hebben voor nieuwere versies van MySQL. |