MySQL 查询 (SELECT) 的问题
Problems with MySQL Query (SELECT)
我有这些专栏:
"uid, street, reg_number, ecc.."
我需要通过 运行 这个查询来测试它:
SELECT street FROM dict WHERE uid = '1001' AND reg_number = '243222';
但是每次我 运行 在 WHERE 子句中包含 reg_number 的查询时,受影响的行数仍然为 0,这是为什么?
reg_number 列中的值是正确的,但仍然不起作用..
因为没有行受到影响。 SELECT 语句不影响行,它 returns 它们。
在 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 而不是其他某种数字存储类型中,则永远不要低估不可见尾随 space(最后)的力量;在这种情况下,试试这个:
SELECT street FROM dict WHERE TRIM(uid) = '1001' AND TRIM(reg_number) = '243222';
我有这些专栏:
"uid, street, reg_number, ecc.."
我需要通过 运行 这个查询来测试它:
SELECT street FROM dict WHERE uid = '1001' AND reg_number = '243222';
但是每次我 运行 在 WHERE 子句中包含 reg_number 的查询时,受影响的行数仍然为 0,这是为什么?
reg_number 列中的值是正确的,但仍然不起作用..
因为没有行受到影响。 SELECT 语句不影响行,它 returns 它们。
在 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 而不是其他某种数字存储类型中,则永远不要低估不可见尾随 space(最后)的力量;在这种情况下,试试这个:
SELECT street FROM dict WHERE TRIM(uid) = '1001' AND TRIM(reg_number) = '243222';