x版本的H2数据库INFORMATION_SCHEMA
已被大规模重建:
在版本1.4.200和版本2.0.202之间有相当大的变化,因此不可能进行简单的更新。
不幸的是,表CROSS_REFERENCES
现在似乎已经消失了。
在1。x版本中,我可以从中读出表之间的关系。有PKTABLE_NAME
、PKCOLUMN_NAME
、FKTABLE_NAME
、FKCOLUMN_NAME
、FK_NAME
、PK_NAME
等列。
我没有在INFORMATION_SCHEMA
2的任何表/视图中找到此信息。
有谁知道我怎样才能得到这个信息吗?
感谢INFORMATION_SCHEMA.TABLE_CONSTRAINTS
包含表中定义的所有约束的信息。如果CONSTRAINT_TYPE
列包含值PRIMARY KEY
或UNIQUE
,则该约束可以被引用约束引用。引用(外键)约束类型为REFERENTIAL
。
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
包含引用约束和它们引用的唯一键/主键约束之间的链接。
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
包含有关主键列、唯一列和引用约束的信息。请注意,多列引用约束可能以任何顺序引用具有相同列集的唯一键或主键约束,因此对于多列引用约束,您需要检查ORDINAL_POSITION
和POSITION_IN_UNIQUE_CONSTRAINT
以正确确定链接列。
所有这些表都在SQL标准的第11部分:信息和定义模式(SQL/schema)中进行了标准化,因此它们或多或少可以跨具有标准INFORMATION_SCHEMA
的所有数据库移植。