"键列信息不足"是什么错误???高手请指教!

bingleliu 2003-01-02 10:47:11
向数据库表中添加数据时,总是显示"键列信息不足",不知道怎么回事.
这个表没有设置任何的constrains.
...全文
29 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-01-04
  • 打赏
  • 举报
回复
肯定是有一摸一样的记录。sql无法定位所以报错!
删除重复:
alter table 表 add newfield int identity(1,1)

delete 表
where newfield not in(
select min(newfield) from 表 group by 除newfield外的所有字段
)

alter table 表 drop column newfield



select * into #temp from 表 group by 所有列
truncate table 表
insert 表 select * from #temp
drop table #temp
-----------------------------------------
老万2018 2003-01-04
  • 打赏
  • 举报
回复
有重复值吧,你加个主键试试
microyzy 2003-01-03
  • 打赏
  • 举报
回复
给表加个主键就可以
chump 2003-01-03
  • 打赏
  • 举报
回复
没有非空字段设置吗?
pengdali 2003-01-03
  • 打赏
  • 举报
回复
你有重复的值,即两条一摸一样的记录。
你可以用下面的代码删除掉其中一条:
alter table 表 add newfield int identity(1,1)

delete 表
where newfield not in(
select min(newfield) from 表 group by 除newfield外的所有字段
)

alter table 表 drop column newfield

或:

select * into #temp from 表 group by 所有列
truncate table 表
insert 表 select * from #temp
drop table #temp
周围走 2003-01-03
  • 打赏
  • 举报
回复
你更新了一个没带主键的记录集的出错提示,例如:
你的表TABLE(A,B,C,D),其中A是主键,你的记录集是RS(B,C,D)没带主键A,你想更新字段B或C或D就会提示出错.

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧