[mdk-re] MySQL SQL implementation bug?

Vadim V. Zhytnikov =?iso-8859-1?q?vvzhy_=CE=C1_mail=2Eru?=
Пн Авг 27 20:53:01 MSD 2001


Mikhail Nikitin wrote:

> Добрый день, господа!
>
> Итак, есть проблема от которой становится не по себе:
>
> Есть БД MySQL (mysql  Ver 11.15 Distrib 3.23.39, for unknown-freebsdelf4.3
> (i386))
> хотя платформа неважна.
> Есть в базе данных таблица:
>
> +-------+------------------+------+-----+---------+-------+
> | Field | Type             | Null | Key | Default | Extra |
> +-------+------------------+------+-----+---------+-------+
> | name  | varchar(255)     |      | PRI |         |       |
> | id    | int(10) unsigned |      |     | 0       |       |
> | exact | enum('n','y')    |      |     | n       |       |
> +-------+------------------+------+-----+---------+-------+
>
> Короче говоря, есть поле name - текстовое, являющееся ключом.
> Берем запрос "SELECT * FROM 'имя таблицы' WHERE name LIKE '%name%'";
> или, говоря по-русски - делаем выборку всех записей, которые содержат в поле
> name текст "name". Заметьте, что оно совпадает с названием поля.
>
> И как вы думаете - что выдаст этот запрос?
>
> Ответ: ВСЁ СОДЕРЖИМОЕ ТАБЛИЦЫ вне зависимости от содержания в записях
> фрагмента 'name'. ЭТО НОРМАЛЬНО или это жирный Bug?
>
> Михаил

Судя по описанию это глюк MySQL. Подобными или похожими хреньками
страдают и другие программы. Поэтому...
Никогда,  НИКОГДА,   Н И К О Г Д А
не давайте полям имена типа NAME и т.п.
Сбережете себе несколько литров крови.

Всего хорошего,

ZW

--

[ Vadim V. Zhytnikov  <vvzhy на mail.ru>  <vvzhy на td.lpi.ac.ru> ]







Подробная информация о списке рассылки community