0

对于这里的 sql 专业人士来说,这可能是一个简单的问题:如何使用数据库(一个字段varchar(30))进行以下查询,得到不同的结果:

SELECT field FROM table WHERE field=1234;

返回:

1234
1234

SELECT field FROM table WHERE field="1234";

返回:

1234

因此,第一个查询似乎两次返回结果 1234,第二个查询是否只返回一次结果。数据库中的数据未知。更令人不安的是,数据库中的字段“字段”具有唯一键。

谢谢!

4

2 回答 2

1

一种可能性是该字段是一个字符串,并且两行包含这些值

1234
1234.0

这两个都将与数字 1234 进行比较。

http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

于 2013-03-24T08:05:57.840 回答
0

第一种情况“1234”是正确的,因为字段值不接受重复值。

确保没有错误或系统错误:

尝试将相同的东西应用到其中值很少的新表上。使列唯一...并应用带有 "" 和不带 "" 的查询。

结果应仅在第一种带有“”的情况下返回一个值。

问候

于 2013-03-24T07:58:41.843 回答