自学SQL起,我一直被这个问题所困扰,我看了好多医生,都没有用。看来我死定了。

zhuxiao 2001-09-20 10:11:50
建立好一个sql数据后,输入了两条相同记录,不能对此两条进行任操作(修改,删除),只一修改,马上提示错误,不能修改此记录,删除也一样。
...全文
122 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hkhurus 2001-09-20
  • 打赏
  • 举报
回复
如果没有ID,这纯属表结构有问题.
zhuxiaojun 2001-09-20
  • 打赏
  • 举报
回复
这个我早就知道了,是不是可以改触发器解决呢。
cobi 2001-09-20
  • 打赏
  • 举报
回复
你的想法在数据库里是不能实现的。因为数据库没有办法确定你要删除和修改的是那一条记录,因为两条都是一样的。你可以参考前面的意见,加一个id字段,serial类型的。在添加记录的时候由数据库帮你自动添加值,并用此字段去区分字段。这样就可以解决你的问题了
zhuxiaojun 2001-09-20
  • 打赏
  • 举报
回复
database数据库,ACCESS数据库也可以了(出现相同的两条记录)。
wangpope 2001-09-20
  • 打赏
  • 举报
回复
kao,要是你有个双胞胎兄弟,完全和你一模一样,杀手怎么知道要杀的是哪个?
hkhurus 2001-09-20
  • 打赏
  • 举报
回复
对了你是想删除只要用SQL语句: DELETE FROM TABLENAME WHERE 条件 .
wangpope 2001-09-20
  • 打赏
  • 举报
回复
加个id字段,至少得区分得开才行啊。
zhuxiao 2001-09-20
  • 打赏
  • 举报
回复
我要解决我个问题,使它可以出现相同的记录
hkhurus 2001-09-20
  • 打赏
  • 举报
回复
那当然不能输入相同的记录,
你应在每一张上建一个ID作为唯一标识的. 其它字段可以相同但ID不能相同.
jjhaonou 2001-09-20
  • 打赏
  • 举报
回复
可以这样解决:先建立相同结构的一张表,例如TABLE2。然后执行SQL语句:
insert into TABLE2 select distinct * from TABLE1
然后再Drop Table1, 将Table2改名改成Table1,这样就可以了。
或者删除Table1数据,将Table2数据考回Table1。
zenartus 2001-09-20
  • 打赏
  • 举报
回复
那样不可能的,你必须让数据库能分辨这两条数据吧!!
herro123 2001-09-20
  • 打赏
  • 举报
回复
出现这个问题,你可能不是直接对表操作,而是对一个数据集操作。
因为Where 决定了要操作的纪录,不管有几条都一律删除。
所与出问题可能是因为你操作的数据集不是Select * from 表,
好像只要不是Select * 而只是部分字段的话,修改就会出问题。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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