今天在公司,用pl/sql developer 查询表后编辑数据,直接用复制粘贴的方式把第一行和第二行的ID值交换后提交。
报主键冲突????ID列是唯一主键。
你们会这样吗?
我怎么感觉以前不这样,现在没环境没法测试。
到底谁和谁冲突?
但是将A和B交换后将其中一个随便改一下,再提交就不冲突了。
是A和B冲突了么?明明不一样不可能冲突啊。
求高人指教一下呢?
------解决思路----------------------
比如你A列的值是1,3 ; B列的值是1,2;你把B列复制到A列,A列复制到B列。A列的值是先插入1,2 再删除1,3 所以就报错。
你可以先把查询出来的值换到另一张表,删掉原有的数据在导入,或者用rowid更新试试。
------解决思路----------------------
这个是工具问题。pl/sql developer提供了edit data的功能,实际上你的操作在后台提交时,是根据rowid逐条执行更新操作的
因此,首先更新第一条,将id 更新成了第二条的ID,然后再更新第二条
而更新第一条时就会发生主键冲突
------解决思路----------------------
分析的到位啊
------解决思路----------------------
逐条更新的,更新第一行时,第二行还是原来的。
------解决思路----------------------
因为这个