我有一个表格products
和下一列id
我使用IN
而不是WHERE
函数,因为我期望多个产品ID
在这种情况下,只有一个产品ID。
SELECT id FROM `products` WHERE id IN (00010001)
上面的sql查询返回
但这不是我期望的,我只期望第一行00010001
。
我需要精确的值,如何使用IN
函数来实现?
答案 0 :(得分:3)
您的id
是一个字符串,因此您需要进行字符串比较:
SELECT proidxxx
FROM `products`
WHERE id IN ('00010001')
您正在混合类型,因此MySQL默默地将id
转换为数字。它与任何id
匹配,其中初始数字(转换为数字时)等于10001
。