我有以下专栏:“uid,街道,注册号,ecc..”我需要通过运行以下查询进行测试:
SELECT street FROM dict WHERE uid = '1001' AND reg_number = '243222';
但是每次我运行包含where子句中reg\ U number的查询时,受影响行的计数都保持为0,这是为什么?reg\ U number列中的值是正确的,但仍然不起作用。。
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';
1条答案
按热度按时间ssm49v7z1#
因为没有行受到影响。select语句不影响行,而是返回它们。
在workbench中逐个尝试以下查询。
如果您的值是正确的,并且street有一个值,那么您将返回行。
如果这根本不起作用,请尝试以下方法:
这将帮助您使用排除过程来找出什么是不正确的。
如果它们在workbench中工作,而不是在您的软件中工作,则说明您从查询中读取的行数据不正确,或者查询的句柄未设置(失败)。了解您使用的语言和代码会很有帮助。
还有一件事——如果这些数据是手工输入的,或者存储在varchar中,而不是其他的数字存储类型中,那么千万不要低估不可见尾随空间(最后)的威力;在这种情况下,请尝试以下操作: