mysql查询问题(选择)

zlhcx6iw  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(370)

我有以下专栏:
“uid,街道,注册号,ecc..”
我需要通过运行以下查询进行测试:

SELECT street FROM dict WHERE uid = '1001' AND reg_number = '243222';

但是每次我运行包含where子句中reg\ U number的查询时,受影响行的计数都保持为0,这是为什么?
reg\ U number列中的值是正确的,但仍然不起作用。。

ssm49v7z

ssm49v7z1#

因为没有行受到影响。select语句不影响行,而是返回它们。
在workbench中逐个尝试以下查询。

SELECT street FROM dict; 

SELECT street FROM dict WHERE reg_number = '243222';

SELECT street FROM dict WHERE uid = '1001';

如果您的值是正确的,并且street有一个值,那么您将返回行。
如果这根本不起作用,请尝试以下方法:

SELECT * FROM dict; 

SELECT * FROM dict WHERE reg_number = '243222';

SELECT * FROM dict WHERE uid = '1001';

这将帮助您使用排除过程来找出什么是不正确的。
如果它们在workbench中工作,而不是在您的软件中工作,则说明您从查询中读取的行数据不正确,或者查询的句柄未设置(失败)。了解您使用的语言和代码会很有帮助。
还有一件事——如果这些数据是手工输入的,或者存储在varchar中,而不是其他的数字存储类型中,那么千万不要低估不可见尾随空间(最后)的威力;在这种情况下,请尝试以下操作:

SELECT street FROM dict WHERE TRIM(uid) = '1001' AND TRIM(reg_number) = '243222';

相关问题