2015-06-03 3 views
0

У меня есть запрос в mysql.Где условие не работает в MySQL

SELECT * FROM tblName WHERE colName = "name"; 

Однако записей не выбрано. Я проверил таблицу, и есть поля, которые соответствуют условию. Кстати, записи вставляются хранимой процедурой. Когда я пытался редактировать некоторые записи (столбец colName), выбираются отредактированные записи. ColName имеет тип данных VARCHAR

+0

Похож пробел вопрос, запустить эту первый 'обновления имя_таблицы набор ColName = подрезать (ColName)' а затем повторите запрос на выборку и посмотреть, если он ничего не делает. –

+4

Можете ли вы показать данные образца? – Jens

+0

Можете ли вы показать некоторые данные образца из таблицы, включая записи, которые соответствуют? –

ответ

0

Попробуйте это, чтобы увидеть, если вы получите какие-либо результаты и проверить, если у вас есть проблемы с пробелами или что-то ...

SELECT *,LENGTH(colName) FROM tblName WHERE colName LIKE "%name%"; 

Существует также возможность (у меня этот вопрос мой сам по применению я использую), что символы, которые соответствуют ваш язык «перевести» в вас данных, например, для гречески:
ДЖОРДЖ кажется то же самое с GΕΟRGΕ Но есть не тогда, когда вы преобразовать их в нижний регистр

gεοrgε <> george 
+0

Привет, Джон, да, я получил несколько столбцов, которые имеют ожидаемую длину. Я попытался обновить столбцы с помощью SET colName = TRIM (colName), однако он всегда говорит, что 0 затронутых строк –

+0

есть ли вероятность проблемы, о которой я упоминал? у вас есть многоязычные данные. Лучше всего позволить быстрый и точный ответ - предоставить SQLFiddle. – John

+0

им жаль, но что вы подразумеваете под несколькими языками? Я попытался выбрать Lower (colName), это было хорошо переведено –

0

Я не уверен,

но, пожалуйста, попробуйте использовать одинарные кавычки вместо двойных кавычек

Как это

SELECT * FROM tblName WHERE colName = 'name'; 
+0

Нет, это не так. Работа –

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