2014-02-08 2 views
-1

в моем запросе я использую заявление LIKE и это запрос:MySQL LIKE ошибка заявление # 1064

SELECT * FROM ogloszenia WHERE oferta = "Oferta kupna" and LIKE = "cokolwiek" ORDER BY id DESC Limit 5 offset 0; 

И я получаю ошибку, как это:

Something is wrong in your syntax near 'LIKE = "cokolwiek" ORDER BY id DESC Limit 5 offset 0' in line 1 

Можете ли вы сказать, мне, как это исправить или в чем проблема этой проблемы?

В любом случае, спасибо.

+2

В дополнение к уже предоставленным ответам: Если вы не поставили хотя бы один символ '' '' ', LIKE будет делать то же самое сравнение, что и' = '. – CBroe

+1

@CBroe Это верно для ms sql, но не для mysql. Посмотрите на это: http://dev.mysql.com/doc/refman/5.0/ru/string-comparison-functions.html#operator_like –

+0

Хорошо, вы правы. – CBroe

ответ

3

Вы не должны иметь знак равенства после LIKE оператора, и он должен быть связан с колонкой

somecolumn LIKE 'cokolwiek' 

Для LIKE, чтобы сделать какое-либо различие над знаком равенства добавить подстановочные знаки % и _ к строке.

IE:

somecolumn LIKE '%cokolwiek%' 

Ссылка: http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like

(также изменено на одинарные для хорошей практики)

+1

Должны ли это одинарные кавычки? Также можете привести несколько примеров того, как работает оператор LIKE. IE, для них бесполезно искать «cokolwiek» – Gohn67

+0

Да, я всегда использую одинарные кавычки, но для этой ошибки может быть неактуальным. Согласно руководству, похоже, можно использовать и то и другое? https://dev.mysql.com/doc/refman/5.1/en/string-literals.html – jtheman

+0

ах, да, вы правы, двойные кавычки там работают. – Gohn67

1

Как уже является оператором, вам не нужно использовать =

LIKE `cokolwiek` 

Чтобы воспользоваться преимуществами LIKE вы можете использовать подстановочные знаки.

2

Вам нужно использовать одинарные кавычки, а не двойные кавычки. У вас также не должно быть = рядом с LIKE, и вам нужно указать имя столбца около LIKE. Это будет выглядеть так:

SELECT * FROM ogloszenia WHERE oferta = 'Oferta kupna' AND columnname LIKE 'cokolwiek' ORDER BY id DESC Limit 5 offset 0;