Czy będzie możliwe wstawienie do dwóch tabel z tym samym poleceniem wstawiania?możemy wstawić do dwóch tabel za pomocą pojedynczego polecenia sql?
Odpowiedz
Nie można wykonać wielu wstawek w dwóch tabelach w jednym zapytaniu.
Być może w przyszłej wersji MySQL można utworzyć widok zawierający 2 tabele i wstawić do niego.
Ale z MySQL 5.1.41 dostaniesz błąd:
„Nie można zmodyfikować więcej niż jedną tabelę bazową poprzez sprzężenie widzenia”
Ale wstawienie do 2 stoliki z 1 zapytanie jest dziwna rzecz do, i Nie polecam tego.
Aby uzyskać więcej informacji na temat uaktualnianych widoków, sprawdź numer MySQL reference.
Możesz wywołać procedurę przechowywaną z wstawkami w dwóch tabelach.
Odpowiedź brzmi: tak i tak to robisz. Przydaje się, gdy masz długie opóźnienie do DB, aby przenikać kilka insertów do jednej instrukcji. – Mark
Nie, nie możesz.
Jeśli chcesz zapewnić atomowość operacji wymagającej umieszczenia danych w 2 tabelach, powinieneś ją zabezpieczyć w transakcji. Możesz użyć instrukcji SQL BEGIN TRAN
i COMMIT TRAN
lub użyć granicy transakcji w dowolnym języku, którego używasz do opracowania warstwy dostępu db. Na przykład. coś podobnego do Connection.StartTransaction
i Connection.Commit
(lub Connection.Rollback
w przypadku błędu).
- 1. Aktualizacja za pomocą dwóch tabel?
- 2. Grafit: wiele serii za pomocą pojedynczego polecenia
- 3. Wstawianie do dwóch tabel
- 4. Jak wstawić do dwóch tabel naraz w procedurze przechowywanej?
- 5. SQL Dołącz do dwóch tabel bez relacji
- 6. wstawić obiekt BLOB za pomocą skryptu sql?
- 7. wybieranie pojedynczego węzła XML za pomocą SQL
- 8. MySQL - Jak wstawić do wielu tabel z kluczy obcych
- 9. MySQL: jak upuścić wiele tabel za pomocą pojedynczego zapytania?
- 10. Jak wstawić do dwóch różnych tabel w jednym oświadczeniu z Java i MySQL?
- 11. eksportowanie wielu tabel dostępu do pojedynczego XML
- 12. sql łączenie dwóch niepowiązanych tabel w jedną
- 13. Blokowanie i odblokowywanie zasobów za pomocą pojedynczego polecenia
- 14. Aktualizacja SQL po połączeniu dwóch tabel
- 15. Czy możemy użyć sprzężenia dla dwóch różnych tabel bazy danych?
- 16. Wyczyść zawartość i formatowanie komórki Excel za pomocą pojedynczego polecenia.
- 17. za pomocą dwóch przycisków przesyłania wewnątrz pojedynczego formularza
- 18. Zapytanie SQL do połączenia dwóch tabel na podstawie najbliżej datownika
- 19. Jak dołączyć do dwóch niepowiązanych tabel w SQL
- 20. SQL dołącz do dwóch tabel bez kluczy/relacji
- 21. Jak wstawić tekst z pojedynczego cudzysłowu serwerem sql 2005
- 22. Dołączenie do tych dwóch tabel szczegółowych
- 23. scalanie zawartości dwóch tabel bez powielania treści
- 24. Znajdź Informix tabel i kolumn dane za pomocą zapytań SQL
- 25. Obsługa tabel za pomocą jQuery
- 26. Jak wstawić tablicę danych do mysql za pomocą php
- 27. SQL - scalanie dwóch tabel w jedną tabelę/widok
- 28. Wysyłanie polecenia do przetwarzania za pomocą/proc
- 29. Łączenie dwóch tabel do jednego wyjścia
- 30. jak wstawić nową linię do wiadomości e-mail za pomocą polecenia linux mail?
Nie jest dziwne, że chcemy zaktualizować (lub wstawić) wiele tabel jako część pojedynczej operacji atomowej (to znaczy wszystko, co się dzieje). Im bardziej znormalizowana jest twoja baza danych, tym bardziej prawdopodobne są jej potrzeby. Trzeba tylko chronić wiele aktualizacji w transakcji db. –
Prawda, ale gdy zobaczę * pojedynczą instrukcję wstawiania, przyjmę, że dotyczy to tylko jednej tabeli. Część "dziwna" odnosi się do aspektu 1 zapytania. –