Sarà possibile inserire in due tabelle con lo stesso comando di inserimento?possiamo inserire in due tabelle con una singola istruzione sql?
risposta
No, non è possibile eseguire più inserimenti in due tabelle in una query.
Forse in una futura versione di MySQL è possibile creare una vista contenente le 2 tabelle e inserirla in quella.
Ma con MySQL 5.1.41 si otterrà l'errore:
"Non è possibile modificare più di una tabella di base tramite una vista join"
Ma l'inserimento in 2 tavole con 1 query è una cosa strana per do, e Non lo consiglio.
Per ulteriori informazioni sulle viste aggiornabili, consultare MySQL reference.
È possibile chiamare una stored procedure con inserimenti in due tabelle.
La risposta è sì ed è così che lo fai. Utile in caso di latenza prolungata del DB per la combinazione di più inserti in un'unica istruzione. – Mark
No, non è possibile.
Se si desidera garantire l'atomicità di un'operazione che richiede l'inserimento di dati in 2 tabelle, è necessario proteggerla in una transazione. È possibile utilizzare le istruzioni SQL BEGIN TRAN
e COMMIT TRAN
oppure utilizzare un limite di transazione in qualsiasi lingua si utilizzi per sviluppare il livello di accesso db. Per esempio. qualcosa come Connection.StartTransaction
e Connection.Commit
(o Connection.Rollback
su un errore).
- 1. Possiamo inserire due meta tag in HTML?
- 2. Come inviare questa istruzione SQL in una singola query?
- 3. Come posso INSERIRE i dati in due tabelle contemporaneamente in SQL Server?
- 4. Inserimento di più record con una singola istruzione di inserimento
- 5. Inserire in più tabelle
- 6. inserire i dati da una tabella in più tabelle
- 7. Combina due query sql select (in postgres) con istruzione LIMIT
- 8. SQL: selezionare come colonna da due tabelle
- 9. Unisci due tabelle in SQL Server 2008
- 10. Istruzione SQL per due colonne di gruppo
- 11. Possiamo avere più "WITH AS" in singolo sql - Oracle SQL
- 12. C'è un modo per inserire in massa due tabelle con FK da una all'altra?
- 13. Come combinare due tabelle in una query?
- 14. Aggiornare una riga singola con t-sql
- 15. istruzione sql use con variabile
- 16. Riga singola se istruzione con 2 azioni
- 17. Aiuto con istruzione SQL (JOIN)
- 18. Elimina righe da più tabelle utilizzando una singola query (SQL Express 2005), con una condizione WHERE
- 19. Cosa fa una transazione attorno a una singola istruzione?
- 20. SQL con più tabelle
- 21. Inserire valori con quotazione singola in PostgreSQL
- 22. SQL Unire due tabelle senza relazioni
- 23. Aggiornamento SQL dopo l'unione di due tabelle
- 24. Possiamo usare join per due diverse tabelle di database?
- 25. Come rendere questa istruzione SQL
- 26. combina due o più condizioni in una istruzione if
- 27. SQL confrontare i dati di due tabelle
- 28. Aggiornamento con due tabelle?
- 29. Concat due colonne in un istruzione select server sql 2005
- 30. limite multiplo mysql in una istruzione sql
Non è strano voler aggiornare (o inserire in) più tabelle come parte di un'operazione singola atomica (vale a dire che tutto o niente accade). Più il tuo database è normalizzato, più è probabile il bisogno. Hai solo bisogno di proteggere gli aggiornamenti multipli in una transazione db. –
Vero, ma quando vedo un'istruzione * single * insert, supporrò che solo 1 tabella sia interessata. La parte "strana" si applica all'aspetto 1 query. –