什么叫“键列信息不足或不正确,更新影响到多行”。

imwinner 2004-11-28 01:50:28
我的表结构和数据如下:
ID TIME PNO
1 2004-1-1 1
1 2004-1-2 1
1 2004-1-3 2
2 2004-2-1 1
2 2004-2-2 1
2 2004-2-3 1
3 2004-3-1 2
3 2004-3-2 2
3 2004-3-3 2
其中ID是VARCHAR型,TIME是DATETIME型,PNO是INT型。
我现在想改一行的数据,比如把第二行的2004-1-2改成2004-2-2日,它就提示“键列信息不足或不正确,更新影响到多行”,而无法修改,请问怎么解决???
...全文
609 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
cemma 2004-11-29
  • 打赏
  • 举报
回复
将新加的列设为自增的,每次用增量导入
funsuzhou 2004-11-29
  • 打赏
  • 举报
回复
你不妨设id、time为主键,然后
update 表 set [time]='2004-2-2'where [id]='1'and [time]='2004-1-2'
danielrh 2004-11-29
  • 打赏
  • 举报
回复
必须列出tbl4中的字段(identity的除外)
imwinner 2004-11-29
  • 打赏
  • 举报
回复
什么意思? 怎么把一个只有3列的表中的数据复制到一个4列表中的前3列中去?
我用的是
insert into tbl4
select c1,c2,c3
from tbl3
其中tbl3中只有3列,tbl4中除了有c1,c2,c3外还有一个identity的列。
请问这样可不可以?
周江涛 2004-11-28
  • 打赏
  • 举报
回复
这还不简单,,你的表里有两条记录一模一样,用企业管理器删除一条记录时就会有这样的提示。
解决方法:设一个主键
imwinner 2004-11-28
  • 打赏
  • 举报
回复
哈,行了~感谢ljial() ,可现在新的问题又来了,我这个表的数据是从另外一个表结构相同的表中导入近来的,现在多加了一列,变成4列了,这样还能不能把另外一个3列的表中的数据导到这个4列的表中吗?
imwinner 2004-11-28
  • 打赏
  • 举报
回复
哦~我试试~~
xjp6688 2004-11-28
  • 打赏
  • 举报
回复
不懂,为什么要加一列? 能说说原因吗?
-----
应该是有唯一的标识!
imwinner 2004-11-28
  • 打赏
  • 举报
回复
不懂,为什么要加一列? 能说说原因吗?
ljial 2004-11-28
  • 打赏
  • 举报
回复
所以应该加一个identity的列
imwinner 2004-11-28
  • 打赏
  • 举报
回复
可问题是我这个表里就是需要有ID相同,或是PNO相同的行,这是工作需要。可我又不能把TIME设成主键,该怎么办才好啊???
ljial 2004-11-28
  • 打赏
  • 举报
回复
建议:
在表中加一列col1,设为int identity
然后delete from table where col1=2
如果不需要,再把这一列删除掉
lxd99423 2004-11-28
  • 打赏
  • 举报
回复
--表没有设主键,出现了重复记录,在企业管理器里面直接修改就会有问题

--这样去掉重复行
select distinct * into #t from 表
delete from 表
insert 表 select * from #t
drop table #t
imwinner 2004-11-28
  • 打赏
  • 举报
回复
没有完全重复的行!
huoyou342 2004-11-28
  • 打赏
  • 举报
回复
关注,我有时也遇到这种问题,老是想不明白
青锋-SS 2004-11-28
  • 打赏
  • 举报
回复
楼主不妨查一下看有没有数据完全重复的行.
imwinner 2004-11-28
  • 打赏
  • 举报
回复
没用的,我试过好多次了,再说DATETIME型的数据怎么可能有空格呢?长度和格式都安排好的。
ljial 2004-11-28
  • 打赏
  • 举报
回复
你试着将2004-2-2前后多删除几次,有时后有空格,但是看不到,前后都del几次
imwinner 2004-11-28
  • 打赏
  • 举报
回复
没触发器,新建的表。
青锋-SS 2004-11-28
  • 打赏
  • 举报
回复
比较麻烦,企业管理器里面若不能确定一行的话是没有办法直接修改数据的.
加载更多回复(6)

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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