coz, nie podales paru szczegolow, obie rzeczy pewnie zadzialaja, ale są drobne roznice
u kermita dostaniesz w wyniku mniej kolumn (a tobie z tego co napisales chodzi wylacznie o tabele LIST
2xLEFT JOIN moze wymagac wiejcej na serku)
to z php.pl zadziala szybciej teoretycznie dla wiekszych tabel o ile bedą indexy dobrze pozakladane, ale wynik bedzie duzy, wiecej kolumn dostaniesz, no chyba ze w select zamiast * dasz l.*
u kermita dostaniesz wiersze z LIST nawet jezeli nie bedzie okreslonego typu bądź kategorii (dzieki JOIN), w php.pl wierszy ktore nie maja tych powiazan nie zobaczysz (WHERE wykluczajace)
no i u kermita sprobuj w select dac samo l.*, ***powinno*** tez dobrze posortowac bez tworzenia dodatkowych kolumn, ale to juz sam sprawdź
ale to jak kermit napisal, na sucho, to da sie zjesc małą bułke w sklepie
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-01-16, 20:55 My SQL i PHP
Zeby zrobic ORDER BY nie trzeba zwracac tych kolumn po ktorych sortujesz, wiec najlepiej jest tak:
SELECT l.*
FROM list l
LEFT JOIN categories c ON c.id = l.category
LEFT JOIN types t ON t.id = l.types
ORDER BY c.category_order ASC, t.type_order ASC
Rozwiazanie z php.pl da ci nadmiarowe kolumny ze wszystkich tabel, co nie jest zbyt efektywne.
M. C. Viper
Audi
A4
Dołączył: 21 Paź 2005
Posty: 910
Miasto: Wrocław
2008-01-16, 21:16 My SQL i PHP
dzieki wielkie chlopaki
musze sie doszkolic w MySQL bo coraz wieksze wymagania mam
M. C. Viper
Audi
A4
Dołączył: 21 Paź 2005
Posty: 910
Miasto: Wrocław
2008-02-01, 10:58 My SQL i PHP
to jeszcze jedno
czy jest mozliwosc sformulowania takiego zapytania do MySQL zeby wstawic nowy wiersz do tabeli i zwrocic jego wartosc ID ?
zastanawialem sie czy jest mozliwosc zamiast zapytan INSERT i SELECT zmontowac je w jedno zapytanie.
na marginesie najlepsze okazalo sie zapytnie kermita dzieki
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-02-01, 15:58 My SQL i PHP
Jesli wstawiasz wiersz, to chyba wiesz co wstawiasz? Chyba, ze robisz SELECT INTO?
W standardzie SQLa INSERT nic nie zwraca, wiec nie ma takiej mozliwosci. Moze MySQL dysponuje jakimis mechanizmami.
M. C. Viper
Audi
A4
Dołączył: 21 Paź 2005
Posty: 910
Miasto: Wrocław
2008-02-01, 16:33 My SQL i PHP
Nogal napisał:
Jesli wstawiasz wiersz, to chyba wiesz co wstawiasz? Chyba, ze robisz SELECT INTO?
wiem co wstawiam, ale nie wstawiam takich pol jak ID ktore ma atrybut "auto-increment" a to wlasnie chce uzyskac.
Nogal napisał:
W standardzie SQLa INSERT nic nie zwraca, wiec nie ma takiej mozliwosci. Moze MySQL dysponuje jakimis mechanizmami.
nie jestem pewien ale wydaje mi sie ze gdzies widzialem ze mozna pokombinowac i zlozyc 2 zapytania, cos w stylu:
SELECT costam INSERT costam.
zeby nie bylo, nie jest mi to do zycia potrzebne, po prosty wydawalomi sie ze gdzies to widzialem.
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-02-01, 17:12 My SQL i PHP
Jesli masz autoincrement to nie ma takiej mozliwosci - muisisz pozniej zrobic selecta.
k3rmit
Dołączył: 11 Cze 2004
Posty: 789
Miasto: Tychy
2008-02-01, 18:37 My SQL i PHP
jest
znaczy jezeli uzywasz przy tym php to funkcja mysql_insert_id() zwraca ID ostatniego INSERTa
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-02-01, 19:51 My SQL i PHP
Czyli to to samo, co select
M. C. Viper
Audi
A4
Dołączył: 21 Paź 2005
Posty: 910
Miasto: Wrocław
2008-02-01, 19:53 My SQL i PHP
wielkie dzieki!!!
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-02-01, 20:27 My SQL i PHP
Znaczy, zeby nie bylo nieorozumien Przypuszczam, ze mysql_insert_id() bedzie szybszy, bo nie bedzie robil selecta, ale bral po prostu aktualny/kolejny numer z sekwencji.
Yaper
Dołączył: 29 Sie 2002
Posty: 899
Miasto: Głowno - Warszawa
2008-02-02, 19:16 My SQL i PHP
Niestety Nogal nie to samo. Mozesz miec przypadek ze wstawiasz identyczne dane i nie dasz rady stwierdzic ktory insert jest "twoj".
Nogal
Dołączył: 18 Sie 2001
Posty: 5672
Miasto: Kraków
2008-02-02, 22:05 My SQL i PHP
Dlatego trzeba zachować ostrożność.
+JacKill+
Dołączył: 09 Maj 2005
Posty: 1360
Miasto: Okolice Kielec;)
2008-03-20, 00:34 My SQL i PHP
A ja zapytam z innej beczki. Zaczynam sie uczyc php i w związku z tym zassałem phpDesignera 2008. wszystko fajnie, ale wywala się pod Vista regularnie (używam XAMMP Lite). Polecacie coś w tym stylu (podświetlanie błędów składni, debug, run w 1 programie) i nie chodzi mi o notepada++