sql: inserire in più tabelle in una query

partendo dal presupposto che ho due tabelle, names e phones e voglio inserire i dati da qualche input alle tabelle, in una query: come può essere fatto?

Per favore, se può essere fatto, spiega la syntax.

MySQL non supporta l’inserimento multi-table in una singola istruzione INSERT . Oracle è l’unico di cui sono a conoscenza, stranamente …

 INSERT INTO NAMES VALUES(...) INSERT INTO PHONES VALUES(...) 

Non puoi Tuttavia, è ansible utilizzare una transazione e disporre di entrambi in una transazione.

 START TRANSACTION; INSERT INTO table1 VALUES ('1','2','3'); INSERT INTO table2 VALUES ('bob','smith'); COMMIT; 

http://dev.mysql.com/doc/refman/5.1/en/commit.html

Ho avuto lo stesso problema. Lo risolvo con un ciclo for.

Esempio:

Se voglio scrivere in 2 tabelle identiche , usando un ciclo

 for x = 0 to 1 if x = 0 then TableToWrite = "Table1" if x = 1 then TableToWrite = "Table2" Sql = "INSERT INTO " & TableToWrite & " VALUES ('1','2','3')" NEXT 

o

 ArrTable = ("Table1", "Table2") for xArrTable = 0 to Ubound(ArrTable) Sql = "INSERT INTO " & ArrTable(xArrTable) & " VALUES ('1','2','3')" NEXT 

Se hai una piccola query non so se questa è la soluzione migliore, ma se la tua query è molto grande e si trova all’interno di uno script dinamico con if / else / case, questa è una buona soluzione.