Почему я не могу вызвать SQL-запрос на основе первичного ключа? - PullRequest
1 голос
/ 12 января 2011

У меня есть довольно простая таблица с 5 столбцами:

ключ, дата, время, заголовок, тело, изображение

Пользователь выбирает заголовок из выпадающего списка, и форма заполняетсядата, тело и изображение.Когда я пытаюсь выбрать по ключу ничего не происходит.Однако, если я выбираю по названию, это работает.

не работает:

SELECT body FROM myTable WHERE key='140'

работает:

SELECT body FROM myTable WHERE title='hello world'

Я пробовал это, набрав запроснепосредственно в phpMyAdmin, и это дает мне сообщение об ошибке, говорящее, что есть проблема в 'key =' 140 ''.

Ответы [ 4 ]

3 голосов
/ 12 января 2011

key является зарезервированным словом .Вы должны окружить его галочками:

SELECT body FROM myTable WHERE `key`='140'
2 голосов
/ 12 января 2011

Потому что, скорее всего, ключ числовой

попробовать:

SELECT body FROM myTable WHERE key=140

без кавычек

1 голос
/ 12 января 2011

Или, возможно, сочетание двух ответов уже дано. Цифровой ключ с зарезервированным словом:

SELECT body FROM myTable WHERE `key`=140
0 голосов
/ 12 января 2011

Потому что ключ является резервным словом в SQL.

вы можете использовать

ВЫБРАТЬ тело из myTable WHERE [ключ] = '140'

...