mysql сопоставление столбца int со строкой - PullRequest
1 голос
/ 08 июля 2020

У меня есть следующий запрос и результат:

mysql> SELECT item_id FROM phppos_items WHERE item_id = '5CG4500RRL';
+---------+
| item_id |
+---------+
|       5 |
+---------+

item_id - это первичный ключ int (11)

Как мне предотвратить совпадение? Похоже, что при сопоставлении он каким-то образом становится 5.

Я все еще хочу запустить этот код, поэтому мне не нужно менять много logi c, поэтому я бы предпочел оставить его в mysql если возможно, провести строгое сравнение.

1 Ответ

0 голосов
/ 08 июля 2020

Меня можно сделать несколькими способами. Например:

SELECT item_id 
FROM phppos_items 
WHERE '5CG4500RRL' REGEXP '^[0-9]+$' AND item_id = '5CG4500RRL';

Здесь мы проверяем только цифры входного значения и оно равно item_id. Здесь вы можете найти дополнительные параметры для проверки входного значения.

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