首页 > 数据库里面的两个记录一样的,希望更改其中的一条,要怎么操作

数据库里面的两个记录一样的,希望更改其中的一条,要怎么操作

如图1和4完全一样的。


如果认为update语句的where条件中,应该只有一条记录,可以在where条件中增加 rownum = 1

update EMP_WMJ set ename = 'Frank' where empno = 7566 and rownum = 1

如果是deptno=20这样的条件,里面有多个empno重复的记录,需要这样写

update EMP_WMJ set ename = 'Frank' where rowid in (
  select min(rowid) from EMP_WMJ  where deptno=20 group by empno
)

limit 1不行吗?


Update top 1


首先一样的的记录为什么会存在两条?
其次如果是 oracle 可以使用 rowid 伪列


可以用limit啊:update EMP_WMJ set ENAME = 'aaa' limit 1

另外就是这种完全相同的记录是很不好的,起码得有ID主键不同,你这个表估计连ID主键都没设


最后筛选条件拼接上 and rownum =1

【热门文章】
【热门文章】