对于sql专业人员来说,这可能是一个简单的问题:
怎么可能跟随数据库查询(一个字段varchar(30)
),得到不同的结果:
SELECT field FROM table WHERE field=1234;
返回:
1234
1234
和
SELECT field FROM table WHERE field="1234";
返回:
1234
因此,第一个查询似乎返回结果1234两次,无论第二个返回结果只有一次。数据库中的数据未知。为了使其更加不安,数据库中的字段“字段”具有唯一的密钥。
谢谢!
答案 0 :(得分:1)
一种可能性是字段是字符串,两行包含这些值
1234
1234.0
这两个都将与数字1234进行比较。
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html
答案 1 :(得分:0)
第一种情况“1234”是正确的,因为字段值不接受重复值。
确保没有错误或系统错误:
尝试在新表上应用相同的内容,其中包含很少的值。将列设为Unique ...并使用“”并且不使用“”来应用查询。
结果应仅在第一种情况下使用“”返回一个值。
此致