HSQLDB:不能删除列

时间:2013-11-04 12:00:47

标签: sql hsqldb

我有hsqldb,其中包含SET DATABASE TRANSACTION CONTROL MVLOCKS。 我想删掉一栏:

ALTER TABLE CSUSER DROP COLUMN PASSWORD

但我有这个错误:

  

错误:执行操作时出错。原因:   java.sql.SQLIntegrityConstraintViolationException:完整性   约束违规:唯一约束或索引违规;   SYS_PK_10426表:语句中的CSUSER [ALTER TABLE CSUSER DROP   专栏密码]

如果我设置SET DATABASE TRANSACTION CONTROL LOCKS,我没有错误,列就被删除了。

问题是我被迫使用MVLOCKS,我没有在这个专栏上找到任何限制。

有没有人有想法?

1 个答案:

答案 0 :(得分:0)

使用set SET DATABASE TRANSACTION CONTROL LOCKS,删除列,然后使用  SET DATABASE TRANSACTION CONTROL MVLOCKS

错误的原因是存在未完成和未提交的事务。您需要提交所有交易。

因此,在执行大规模数据和架构更改操作之前,请提交任何事务。