1. Usando `Insert in ... Seleziona ...` con un sottoquery:
Questo metodo prevede la selezione dei dati che si desidera inserire e utilizzarli all'interno dell'istruzione `Insert in`. È possibile raggiungere questo obiettivo utilizzando una sottoquery per selezionare la riga prima del punto di inserimento desiderato e quindi utilizzare la clausola `limite` per specificare una singola riga:
`` `sql
Inserisci in your_table (column1, column2, ...)
Seleziona colonna1, colonna2, ...
Da te_table
Dove condition_for_the_row_before_insertion
Limite 1;
Inserisci in your_table (column1, column2, ...)
Valori ('new_value1', 'new_value2', ...);
`` `
Spiegazione:
1. La prima query seleziona la riga prima del punto di inserimento desiderato in base a `condition_for_the_row_before_insertion`.
2. La clausola `limite 1` garantisce che venga selezionata una sola riga.
3. La seconda query inserisce i nuovi valori che si desidera aggiungere.
Esempio:
Supponiamo che tu voglia inserire una nuova riga dopo la riga con `id =3` nella tabella` utenti '.
`` `sql
Inserisci negli utenti (nome, e -mail)
Seleziona Nome, Email
Dagli utenti
Dove id =3
Limite 1;
Inserisci negli utenti (nome, e -mail)
Valori ("nuovo utente", "[email protected]");
`` `
2. Usando `Insert After` (Mysql 8.0.23 e sopra):
Questo metodo è più conciso e semplice del precedente. Specifica direttamente la riga dopo la quale si desidera inserire la nuova riga.
`` `sql
Inserisci dopo il tuo_table
Imposta column1 ='new_value1', column2 ='new_value2', ...
Dove condition_for_the_row_before_insertion;
`` `
Spiegazione:
1. `Inserisci dopo il tuo_table` specifica la tabella in cui si desidera inserire la nuova riga.
2. `Set column1 ='new_value1', column2 ='new_value2', ...` definisce i valori per le colonne nella nuova riga.
3. `dove condition_for_the_row_before_insertion` specifica la riga dopo la quale si desidera inserire la nuova riga.
Esempio:
`` `sql
Inserire dopo gli utenti
Set name ='new utente', email ='[email protected]'
Dove id =3;
`` `
Note importanti:
* Chiavi primarie per incrementazione automatica: Se la tabella ha una chiave primaria che incrementa auto, la nuova riga verrà inserita con il successivo valore della chiave primaria disponibile. Potrebbe essere necessario regolare il valore di incrementazione automatica se è necessario inserire la nuova riga con un valore chiave primario specifico.
* Struttura della tabella: Assicurarsi che le colonne e i tipi di dati nella clausola `valori` corrispondano alle colonne corrispondenti nella tabella.
Scegli il metodo che si adatta meglio alle tue esigenze e allo stile di codifica. Entrambi i metodi ottengono lo stesso risultato, ma la sintassi `Insert After` è più concisa e potrebbe essere preferita per le versioni più recenti di MySQL.
Programmazione © www.354353.com