Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FULL, LEFT i RIGHT JOIN ORAZ REFERENCJE
Forum PHP.pl > Forum > Bazy danych
webJ@cob
Witam,
Czy aby w zapytania zastosować JOIN lub REFERENCJE to baza MySQL musibyć typu InnoDB czy może być MyISAM?

Moje drugie pytanie dotyczy już SQL.
Czy istnieje praktyczne wykonanie zapytania które utworzy dwa wpisy do dwóch różnych tabel tej samej bazy danych z założeniem, że id nowego wpisu zostanie podany jako wartość jednego z pól drugiej tabeli?
dr_bonzo
1. JOINY - dowolny typ tabeli
2. w zapytanie REFERENCJE ? co to?
3. insert - http://dev.mysql.com/doc/refman/5.0/en/insert.html skladnia na to nie zezwala
webJ@cob
Cytat(dr_bonzo @ 26.11.2008, 21:22:31 ) *
2. w zapytanie REFERENCJE ? co to?


Chodzi mi o pseudo Oracle'owe słowniki danych. Gdzie referencje np. 1 do wielu ustawiamy tylko za pomocą 2 tabel.
prond
Ad. 3
Normalnie w bazie danych mielibyśmy sekwencję i metody do jej inkrementacji (nextval) oraz pobierania bieżącej wartości (currval).
W MySQL nie ma sekwencji więc trzeba zorbić małą sztuczkę:
  1. BEGIN;
  2. INSERT INTO orders (created) VALUES (NOW());
  3. SET @orderId = LAST_INSERT_ID();
  4. INSERT INTO order_details (order_id, some_details) VALUES (@orderId, 'Pozycja #1');
  5. INSERT INTO order_details (order_id, some_details) VALUES (@orderId, 'Pozycja #2');
  6. COMMIT;
dr_bonzo
Cytat
INSERT INTO orders (created) VALUES (NOW());
SET @orderId = LAST_INSERT_ID();
INSERT INTO order_details (order_id, some_details) VALUES (@orderId, 'Pozycja #1');


prond: zauwaz ze robisz to wiecej niz jednym zapytaniem, chyba ze to wystarcza, ale ja nie tak zrozumialem problem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.