我有一个像这样的数据库表
+======+===========+============+
| ID | user Name |user surname|
+======+===========+============+
| 100 | name | surname |
| 101 | name | surname |
| 102 | name | surname |
+===============================+
当我运行这个查询时,它应该不会显示任何行,因为没有带的行 101foo2
价值:
选择*from tablename,其中id='101foo2'
我得到了一个没有 foo2
单词
+======+===========+============+
| ID | user Name |user surname|
+======+===========+============+
| 101 | name | surname |
+===============================+
如何显示id为的行 101
如果我的问题是 ID = '101foo2'
1条答案
按热度按时间2guxujil1#
你是混血儿。
ID
是整数(或数字)。你把它比作一个字符串。因此,mysql需要决定使用哪种类型进行比较。使用什么类型?嗯,一根绳子?不,一个号码。使用前导数字将字符串转换为数字。所以,它变成了101
还有火柴。你应该只比较数字和数字,字符串和字符串。您可以尝试将代码编写为:
然而,你会得到一个错误。另一种可能是强制转换为字符串: