Я не знаю, является ли это ошибкой или что. У меня есть простая таблица MYSQL называется table
с колонкой под названием id
которая BIGINT UNSIGNED NOT NULL
MYSQL возвращает результат, даже если неверное значение
У меня есть строка с идентификатором 1
и когда я запускаю этот запрос:
SELECT * FROM table WHERE id = '1dasfrf'
И удивительно, что возвращает идентификатор строки 1
в результате ряд! Он не должен возвращать ничего, поскольку предоставляется недопустимое значение. Тип таблицы MYSQL - innoDB
, если это необходимо
Итак, если вы поместите любое число без значения после значения строки, оно вернет эту строку. Это, конечно, со всеми значениями id не только 1
Это становится еще хуже: 'создать таблицу Foo (ID VARCHAR (20)); вставить в значения foo ('1x'), ('xy'); удалить из foo, где id; –