Форум.orn
HARD&SOFT => Программирование => Тема начата: DimaN от 15 Сентября 2015, 00:13:20
-
Есть табличка с полями типа TEXT в строках которой такие данные: 897010202514080465, 897010202514080466, 897010202514080467, 897010202514080468 и тд.
Когда делаю запрос типа SELECT * FROM `table` WHERE field1=897010202514080466 выводятся все строчки.
Опытным путем было установлено что важны первые 16 цифр. 17 и 18 цифру запрос игнорирует. Ощущение что запрос сравнивает первые 16 цифр а остальные ему не интересны. Что за ограничение такое на 16 цифр?
Как сделать что бы запрос выводил то что я запрашиваю, только одну строку?
-
В кавычки взять значение field1. Это ж строка, а не число.
-
Попробуй так:
SELECT * FROM `table` WHERE `field1`=`897010202514080466`
И проверь: может в таблице еще создан ключ по длине в 16 символов?
Like здесь не нужен, нам же нужно вывести точное значение.
Да и зачем нагружать базу, если в поле только цифры, чем BIGINT не угодил?
-
like и в апострофах
-
Помогли одинарные кавычки ( ' ) или как они там называются!