String w warunku WHERE z selektora SELECT

0

Witam.
Ostatnio próbuję pobrać z mojej bazy danych pewną wartość.

Tabela wygląda następująco:

id|key|value . Mam tam tylko jeden rekord. 1|sth|734956

Gdy daję zapytanie: SELECT value FROM settings WHERE id=1;

Zwraca mi wartość value znakomicie, natomiast, gdy chcę się do tej wartości dostać przez pole 'key'

SELECT value FROM settings WHERE 'key'='sth';

Zwraca mi zero rekordów. Dlaczego tak się dzieje? Jak powinno wyglądać poprawne zapytanie?

Próbowałem także zamiast apostrofów stawiać cudzysłowy, ale nic nie dało.

Dziękuję z góry za pomoc :)

0

SELECT value FROM settings WHERE key='sth';

0

Tak też próbowałem. Wywala:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key='pass' LIMIT 0, 30' at line 1 .

Myślę że ma to coś wspólnego z metodą porównywania napisów. Ja mam teraz utf8_unicode_ci, ale probowałem też z utf8_general_ci i latin_2 . Rezultat żaden.

0

A ja myślę, że ma to związek z tym, że klauzula KEY jest w MySQL (pewnie w innych dialektach również) zastrzeżona.
Trzeba zrobić tak:

SELECT `value` FROM `settings` WHERE `key`='sth'
0

Dzięki bardzo :) Teraz wszystko działa!

Wystarczy dać: SELECT value FROM settings WHERE key='sth';

Nawet nie przypuszczałbym, że te znaczki ``` są takie ważne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1