MySQL查询(SELECT)问题

时间:2020-06-10 23:14:13

标签: mysql sql database select rows

我有此列:

“ uid,街道,reg_number等”。

我需要通过运行以下查询进行测试:

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

但是每次我在WHERE子句中运行包含reg_number的查询时,受影响的行数都保持为0,为什么呢?

reg_number列中的值是正确的,但仍然不起作用。

1 个答案:

答案 0 :(得分:2)

因为没有行受到影响。 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';