Как найти точное значение с помощью функции IN () - PullRequest
0 голосов
/ 08 октября 2018

У меня есть таблица products со следующим id столбцом

Я использую функцию IN вместо WHERE, потому что я ожидал, что несколько продуктов идентификаторы

В этом случаетолько один идентификатор продукта.

SELECT id FROM `products` WHERE id IN (00010001)

Приведенный выше SQL-запрос возвращает

enter image description here

Но это не то, что я ожидал, я ожидалтолько первая строка 00010001.

Мне нужно точное значение, как этого добиться с помощью функции IN?

1 Ответ

0 голосов
/ 08 октября 2018

Ваш id является строкой, поэтому вам нужно сравнение строк:

SELECT proidxxx
FROM `products`
WHERE id IN ('00010001')

Вы смешиваете типы, поэтому MySQL молча преобразует id в число.Он соответствует любому id, где начальные цифры - при преобразовании в число - равны 10001.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...