Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 14 Dołączył: 4.06.2008 Ostrzeżenie: (0%)
|
Witam,
Swój problem już rozwiązałem, ale mam dylemat, czy używać apostrofy w zapytaniach SQL czy nie... Chciałem wykonać takie zapytanie:
I dostawałem błąd: [Err] 1054 - Unknown column 'u.user_id' in 'field list' Wtedy zmieniłem zapytanie na:
I zapytanie wykonało się pomyślnie... Problemem były apostrofy w SELECT, ale dlaczego? Jeśli ktoś mógłby mi to wyjaśnić, byłoby miło. No i inne pytanie, czy jeżeli nie będę używał w ogóle tych lewych apostrofów, to mogę narażać się na jakieś problemy? Czyli zapytania typu:
Wiem, że wiele osób nie używa apostrofów, ja ciągle używałem, bo gdzieś kiedyś wyczytałem/nauczyłem się, że tak wyglądają poprawne zapytania SQL... Pozdrawiam. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 4 Dołączył: 22.07.2011 Ostrzeżenie: (0%)
|
Cześć.
Jeżeli napisałeś `u.user_id` (z tymi apostrofami) to dlatego pojawił się błąd, bo sql wziął u.user_id jako nazwa kolumny, a nie rozpatrzył że u to nazwa tabeli, a user_id to kolumna. Używanie apostrofów jak najbardziej możesz używać. Jeżeli tworzysz kolumnę w tabeli która będzie zawierać opis czegoś, np opis do artykułu to musisz ją jakoś nazwać. Przykładowo description. Wiadomo też że niektórzy skracają nazwy kolumn jak tylko mogą i zamiast description możesz wpisać desc. Zauważ że nazwa desc to nazwa zaklepana przez sql jako odwrócone sortowanie (od najwcześniejszych dodanych), a więc zapytanie sql np takie: Kod select * from sample_table where desc <> '' zwróci błąd gdyż sql pomyśli że te desc jest nie na tym miejscu.Natomiast jak napiszesz Kod select * from sample_table where `desc` <> '' to wszystko będzie dobrze - wtedy to, sql pomyśli że desc nie jest odwróceniem kolejności wypluwania danych a jest nazwą kolumny.Pozdrawiam. Ten post edytował Calibri 1.08.2011, 15:15:36 |
|
|
|
Kużdo Używanie apostrofów w zapytaniu SQL. 1.08.2011, 14:41:34
mortus To nie apostrofy, tylko gravisy, którymi obejmuje ... 1.08.2011, 15:14:13
Kużdo Obojgu dziękuję za odpowiedź.
@mortus, właśnie ta ... 1.08.2011, 15:38:11 ![]() ![]() |
|
Aktualny czas: 19.01.2026 - 17:11 |