inserimento di valori in più di due tabelle utilizzando una query
-
23-09-2019 - |
Domanda
è possibile inserire i valori in tabelle diverse utilizzando mysql query ??
Nessuna soluzione corretta
Altri suggerimenti
Sì, ma è necessario creare funzioni personalizzate che inseriscono i valori di altre tabelle come un effetto collaterale.
L'idea di base è che si desidera inserire il risultato della funzione nella tabella si sta inserendo altri dati
insert into table (resulting_value) values (my_function(parameters))
Si può leggere di più su funzioni memorizzate dalla documentazione di MySQL
Non c'è una query che può farlo, ma supponendo che si sta lavorando con PHP, è possibile ottenere la chiave primaria dell'ultima riga inserita utilizzando mysql_insert_id()
e poi si può costruire la seconda query con quel campo.
si potrebbe forse farlo utilizzando un trigger (s) (cioè di emettere un'istruzione SQL insert e inserti successive sono svolte nella base di dati), a patto che
- i valori di inserimento successive possono essere derivate dal valore dell'inserto precedente
- non ti dispiace vivere con i problemi che un tale approccio potrebbe dar luogo a (messaggi di errore poco chiaro quando un trigger non riesce, gli errori di inserimento silenziosi, problemi di prestazioni ecc.ecc.)
Il comando Insert
permette solo una tabella di destinazione per i dati da inserire ...
INSERT INTO target_table () VALUES();
Una buona soluzione può essere eseguita durante l'utilizzo di Trigger.