日期:2014-05-17  浏览次数:20505 次

sql server 2005 大小写 初学者提问
我sql server 2005中执行2条语句结果是一样的,
1.  select * from userinfo where username = 'admin'
2.  select * from userinfo where username = 'Admin'
其实数据库中只有一个username=admin。数据库检查不区分大小写,很郁闷,而且我把username设置成主键时,在insert username=Admin或者ADMIN都会说不能插入重复主键。
请问各位大侠,如何修改数据库设置,能解决这个问题?

还有一个,如果我要修改某一个字段,字段中含有'时,如何修改?
update userinfo set password = 'abd'dfe' wher username = 'user1'
这条语句显然执行错误,因为password中有',但是如果我就是要改成password中有',我改如何写这条语句?


------解决方案--------------------
还有一个,如果我要修改某一个字段,字段中含有'时,如何修改?
update userinfo set password = 'abd'dfe' wher username = 'user1'
这条语句显然执行错误,因为password中有',但是如果我就是要改成password中有',我改如何写这条语句?


改成这样试试,把里面的单引号 写两次 就行:

update userinfo set password = 'abd''dfe' wher username = 'user1'

------解决方案--------------------
另外,你的问题应该是排序规则的问题:

你这样,把你的userinfo 表的username列的排序规则 改成Chinese_PRC_CS_AS 这个试试:


alter table userinfo 
alter column username 列的数据类型 collate Chinese_PRC_CS_AS
------解决方案--------------------
alter database dbname collate Chinese_PRC_CS_AS