HSQLDB - 在外键中引用 INFORMATION_SCHEMA
Posted
技术标签:
【中文标题】HSQLDB - 在外键中引用 INFORMATION_SCHEMA【英文标题】:HSQLDB - Referencing INFORMATION_SCHEMA in foreign key 【发布时间】:2019-04-17 13:33:59 【问题描述】:我尝试在现有表上创建外键。 FK 应该引用包含在 INFORMATION:SCHEMA 中的表上的列。
但这似乎是不可能的。 对吗?
更新
这是我执行的(作为超级用户):ALTER TABLE MY_TABLE ADD CONSTRAINT MY_TABLE_FK FOREIGN KEY (A, B, C) REFERENCES CATALOG.INFORMATION_SCHEMA.TABLES (TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME)
这是我得到的错误:[42501][-5501] user lacks privilege or object not found: INFORMATION_SCHEMA.TABLES
java.lang.RuntimeException: org.hsqldb.HsqlException: user lacks privilege or object not found: INFORMATION_SCHEMA.TABLES
不是很有帮助,因为我使用的用户拥有所有可能的权限并且对象肯定存在。
【问题讨论】:
您看到的错误信息是什么? 见how to use foreign-keys with hsql create table。 @TimBiegeleisen 我用更多细节更新了这个问题。 【参考方案1】:INFORMATION_SCHEMA.TABLES 是一个视图,因此没有 PRIMARY KEY 约束。因此无法创建 FOREIGN KEY 来引用它。
【讨论】:
以上是关于HSQLDB - 在外键中引用 INFORMATION_SCHEMA的主要内容,如果未能解决你的问题,请参考以下文章