HSQLDB:由于"用户缺少权限或找不到对象",无法删除联锁表,也无法删除外键



我正在尝试从HSQLDB服务器数据库中删除两个实验表。但是,由于自动生成的外键,每次尝试都失败了。除了吹走文件系统上的整个数据库之外,我已经没有想法了,并希望你们有任何指示或建议。

表和索引由 JPA 创建。 为表生成的 DDL 为:

CREATE TABLE SUDOKU.DIVISION (
DIVISION_ID BIGINT NOT NULL,
DIVISION_NAME VARCHAR(255),
CHIEF_EMPLOYEE_ID BIGINT,
DEPUTYCHIEF_EMPLOYEE_ID BIGINT,
PRIMARY KEY (DIVISION_ID)
);
CREATE TABLE SUDOKU.EMPLOYEE (
EMPLOYEE_ID BIGINT NOT NULL,
DIVISION_ID BIGINT,
EMPLOYEE_NAME VARCHAR(255),
PRIMARY KEY (EMPLOYEE_ID)
);
ALTER TABLE SUDOKU.DIVISION
ADD FOREIGN KEY (CHIEF_EMPLOYEE_ID,DEPUTYCHIEF_EMPLOYEE_ID) 
REFERENCES EMPLOYEE (EMPLOYEE_ID,EMPLOYEE_ID);
ALTER TABLE SUDOKU.EMPLOYEE
ADD FOREIGN KEY (DIVISION_ID) 
REFERENCES DIVISION (DIVISION_ID);

当我尝试删除任一表时,删除失败,并显示类似于以下ERROR: is referenced by FOREIGN KEY constraint: SUDOKU.FKSPXEERGASS9WA2IXFLHC20IOY in statement [DROP TABLE SUDOKU.DIVISION] Error Code: -5533

因此,然后我尝试删除引用的"外键",并且 失败,并显示错误消息user lacks privilege or object not found

我无法使用RazorSQLEclipse Neon-3 中的 JPA 视图找到错误消息中引用的任何外键。

我注意到的一件奇怪的事情是错误消息中引用的外键发生了变化。 这似乎取决于我使用哪种工具进行连接。

有一个简单的解决方案:

DROP TABLE SUSOKU.DIVISION CASCADE

同样,当您要从具有 FK 引用的表中删除数据时:

TRUNCATE TABLE SUSOKU.DIVISION AND COMMIT NO CHECK

最新更新