2011-12-09 3 views
0

У меня есть эта таблица под user_name='high'Почему этот поисковый запрос ничего не возвращает?

function_description:

Акрам в дате

тест

Акрам изучает

test4

kheith мужского пола

test3

Я хочу, чтобы запрос, который возвращает результаты поля, которые имеют по крайней мере «Акрама»

SELECT * 
    FROM functions 
WHERE 'isEnabled'=1 
    AND 'isPrivate'=1 
    AND user_name='high' 
    AND function_description LIKE '%akram%' 

и это не возвращает абсолютно ничего!

Почему?

ответ

1

Вы указываете имена столбцов, как если бы они были строками. Вот почему он ничего не возвращает.

Попробуйте это:

SELECT * 
FROM functions 
WHERE user_name='high' 
AND function_description LIKE '%akram%' 

редактирования: После попытки перечитал ваш вопрос ... являются isEnabled и isPrivate столбцов в этой таблице? edit2: обновлено .. удалите те неизвестные столбцы.

+0

# 1054 - Неизвестный столбец «IsEnabled» в «где предложение» –

+0

никаких они не являются столбцы –

+0

теперь его работа поблагодарить у –

1

Вы сравниваете строки 'isEnabled' с целым числом 1, что, вероятно, приводит к преобразованию целого числа в строку, а затем сравнение не выполняется. (Альтернатива является то, что строка преобразуется в целое число 0 и сравнение по-прежнему не удается.)

В MySQL, можно использовать обратные кавычки, а не одиночные кавычки, процитировать столбцы и таблицы имен:

SELECT * 
    FROM `functions` 
WHERE `isEnabled` = 1 
    AND `isPrivate` = 1 
    AND `user_name` = 'high' 
    AND `function_description` LIKE '%akram%' 

В стандартном SQL вы используете двойные кавычки для создания «разделительного идентификатора»; в Microsoft SQL Server вы используете квадратные скобки вокруг имен.

Пожалуйста, покажите схему более тщательно (имена столбцов, значения образцов, типы, если необходимо) в следующий раз. не

+0

# 1054 - Неизвестный столбец «IsEnabled» в «где предложение», это то, что он показывает –

+2

OK - вот почему вам нужно показать нам схему таблицы. Мы не можем сказать, какие столбцы у вас есть в ваших таблицах, поэтому мы должны делать правдоподобные догадки, но одна из больших проблем заключается в том, что люди, задающие вопросы, умнее придумывают неожиданные сценарии, чем мы их угадываем. –

+0

хорошо плохой пост внимательно следующий раз .. спасибо –

Смежные вопросы