更新两列失败 - 未能将两列设置为null

时间:2013-09-13 06:16:14

标签: sql oracle

SOL下面不起作用:

update table1 
   set col2=null, col3=null 
 where id=195366

如果我只更新一列,则可以

update table1 
   set col2=null 
 where id=195366

1 个答案:

答案 0 :(得分:1)

可能会失败的原因有很多。 col3可能有NOT NULL约束(a)col2+col3可能是复合主键,表上可能有一个不允许两者{ {1}}等等。

没有看到所有的数据库设置(表格定义,触发器等)和你尝试时得到的实际错误,这有点难以确定。


(a)请记住,该语句是原子的 - 要么都将设置为NULL,要么都不会更改,在正确的事务数据库中不存在中途状态。