Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie rekordów, do tabel będących w relacji
SamoChwała
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 28.07.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam,

INSERT INTO tabela_1 (id_tab_1, pole_1, pole_2,........itd)

to wiem i nie ma problemu (działa, bo musi)

ale jak wstawić nowy rekord do dwóch (lub więcej) tabel będących w relacji.

dla przykładu tabela_2 ma pola (id_tabela_2, id_tabela_1, pole_x, pole_y)

Jak powinno wyglądać to MySQL, żeby do pola id_tabela_1 w tabela_2 wstawiany był ten sam rekord.

Dzieki za okazaną pomoc!!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


aby zapewnic pelna spojnosc danych musisz wykorzystac transakcje....

postepowanie (pisze teraz jak powinno to wygldac w wierszu polecen) wyglada w sposob nastepujacy:

  1. -- rozpoczecie transakcji
  2. SET AUTOCOMMIT = 0;
  3. BEGIN;
  4.  
  5. -- dodanie danych do tabeli pierwszej
  6. -- czyli jakis tutaj: INSERT INTO tabela_1 -- pobranie ostatnio wygenerowanego numeru id czyli:
  7. SELECT LAST_INSERT_ID();
  8.  
  9. -- dodanie danych do tabeli drugiej
  10. -- czyli INSERT INTO tabela 2
  11.  
  12. -- gdy wszystko zostalo poprawnie wykonane:
  13. COMMIT();
  14.  
  15. -- ewentualnie
  16. ROLLBACK();


mozna by tutaj pewnie stworzyc jakas procedure, przy czym nie znam sie na pisaniu takich rzeczy... z kolei utworzyc taka funkcje z wykorzystaniem php to nie bedzie specjalnie klopotow


edit:
jezeli chodzi o poprzedni watek to odpowiem troche pozniej gdyz w chwili obecnej mam pare rzeczy do zrobienia

Ten post edytował mhs 28.07.2004, 14:15:34
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:22