Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> FULL, LEFT i RIGHT JOIN ORAZ REFERENCJE
webJ@cob
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 28.02.2007
Skąd: Kraków

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


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?

Ten post edytował webJ@cob 26.11.2008, 20:47:48


--------------------
Sprawdź kiedy marzenia stają się inspiracją.
e-Zarządzania firmą | e-Biznes | Strony.Serwisy.Portale Internetowe
www.webarts.pl
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
webJ@cob
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 28.02.2007
Skąd: Kraków

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


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.


--------------------
Sprawdź kiedy marzenia stają się inspiracją.
e-Zarządzania firmą | e-Biznes | Strony.Serwisy.Portale Internetowe
www.webarts.pl
Go to the top of the page
+Quote Post
prond
post
Post #4





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


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;


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 18:16