没有主键的表,怎么进行修改和删除操作?

hanxiaoliang1314 2011-08-11 09:13:59
如题:一般修改和删除都是根据表的主键来操作的。。现在表没有主键,该怎么做呢?写多个where语句,这个确实可以。可是万一表中字段太多,根本就行阿。。如果就只指定几个,可能影响到表中别的行。。oracle数据库。。
各位说说该怎么做?最好能写个例子。。有代码可看。
...全文
2276 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
samyou 2011-08-15
  • 打赏
  • 举报
回复
有唯一健就可以啦。
hujiuyou 2011-08-15
  • 打赏
  • 举报
回复
这个可以没有
加油馒头 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 hesi726 的回复:]
用 rowid 就可以了;而且速度是最快的;
[/Quote]
可以临时解决这个问题。。
hesi726 2011-08-14
  • 打赏
  • 举报
回复
用 rowid 就可以了;而且速度是最快的;
superManXsj 2011-08-13
  • 打赏
  • 举报
回复
主键是什么东西
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 missgd152 的回复:]
DBA会告诉你,没有主键的表不能称之为表。
[/Quote]

听DBA的
自然框架 2011-08-12
  • 打赏
  • 举报
回复
没有主键,那就加一个呗。

加上了,世界就清净了。
szc108 2011-08-12
  • 打赏
  • 举报
回复
应该有唯一性的吧,要不就是表设计得不合理
W520min1988 2011-08-12
  • 打赏
  • 举报
回复
设计有问题,不多说
weiqian_bj 2011-08-12
  • 打赏
  • 举报
回复
select row_number() over(order by ...) as row ,* from table 通过row可以得到你的行号!没有重复的
SpbDev 2011-08-12
  • 打赏
  • 举报
回复
可以根据rowid进行删除,如果你能确定rowid的话
  • 打赏
  • 举报
回复
快速查找一些记录跟主键没有直接关系,只要保证有足够的索引就行。主键主要是作为一种逻辑工具,比如我们说“存在这样的记录,它是2011年8月11日上午发生的,它的操作员是abcd,它的目标用户使wxyz,它的信息里边有一个脏字”,这是表达查询条件,但是我们都知道这个话中的“记录”概念都是独立和唯一的,只是我们没有用更加可操作的一个代号来代表它而已。那么加上主键顺理成章,将来就可以直接用一个代号,而不是用一堆罗哩罗嗦的查询语句来表达它。
linus2008117 2011-08-11
  • 打赏
  • 举报
回复
没有主键????!!!!

像楼上说的有没有唯一字段,这个都没有,最好加上,否则数据很容易乱套,update 的时候加一堆where条件,数据库也吃不消
接分为押宝 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 msdnxgh 的回复:]
不一定要有主健,如果有可以确定唯一行的列就可以了,比如有一个值是序号的,是唯一,就可以用where了啊
[/Quote]
唯一标识必须有了,要不然where根本区分不开。
qydvip 2011-08-11
  • 打赏
  • 举报
回复
找唯一列 操作
Yujiexiaoyu 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 abbey 的回复:]
如果没有主键,就看有没有唯一列
如果没有唯一列,就看某几个列的组合能否形成唯一匹配
如果没有唯一的列组合,就看所有列的组合能否形成唯一匹配

如果还不行,那就乱了
[/Quote]

顶。但是,我想问的是为什么不设置主键?
lazyleland 2011-08-11
  • 打赏
  • 举报
回复
要把主键加上。
md5e 2011-08-11
  • 打赏
  • 举报
回复
用rows_num
MSDNXGH 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hanxiaoliang1314 的回复:]
引用 1 楼 msdnxgh 的回复:
不一定要有主健,如果有可以确定唯一行的列就可以了,比如有一个值是序号的,是唯一,就可以用where了啊



可是没有唯一的阿。有唯一的就好办了。。
[/Quote]
那你就完了
hanxiaoliang1314 2011-08-11
  • 打赏
  • 举报
回复
现在不是这个问题了。。还是那日期的问题。。
加载更多回复(21)

62,236

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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