Это может быть простой вопрос для SQL профи здесь: Как это могло бы быть, что после запросов с базой данных (одно поле varchar(30)
), получить разные результаты:где = «1234» не равна где = 1234
SELECT field FROM table WHERE field=1234;
возвращается:
1234
1234
и
SELECT field FROM table WHERE field="1234";
возвращает:
1234
Итак, первый запрос возвращает результат 1234 два раза, независимо от того, возвращает ли второй результат только один раз. Данные в базе данных неизвестны. Чтобы сделать его еще более расстроенным, поле «поле» в базе данных имеет уникальный ключ.
Спасибо!
пространств около 1234? – Koterpillar
Нет, не совсем. Когда я смотрю на два результата, я не вижу никаких пробелов. – charihans
Не доверяйте глазам. Попробуйте 'SELECT поле, длину (поле), md5 (поле) FROM table WHERE field = 1234;' и опубликуйте результаты. – Koterpillar