分类：电脑/网络-程序设计
问题：sqlsever数据库中有关表的问题，急急急！我采用的是sql数 
我采用的是sql，原来用的是access数据库，我把它改成了sql数据库后，有很多表，其他表都能使用，只有user 表，系统说错误类型：Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)ODBC 驱动程序不支持所需的属性。请问这是怎么回事，我应该怎么改？
回答：这里有两个问题。首先，USER是SQL中的关键字，所以在命名表的时候最好不要与之同名。如果实在需要同名，那么在访问时必须用方括号括起来以示区别（如select * from [user]），否则会导致语法错误。其次，出现“键列信息不足...”的错误的确如楼上所说，是因为在该表中存在重复的记录，因此在器中试图删除时会报错。如果你只是想把重复的多余记录删除的话，需要打开查询分析器，然后输入下面的语句（根据需要改为你自己的表名和库名）：user MyDB --进入需要修改的数据库中select distinct * into #tmp from [A] --先将数据存入一张临时表中，剔除重复项truncate table [A] --然后清空原表insert into [A] select * from #tmp --再将临时表内容插入表Adrop table #tmp --删除临时表另外，在定义表结构时，最好能定义主键，以避免出现重复记录，而且在某些情况下可以加快查询速度。