如何使用 UCanAccess 在两个表之间创建关系?

Posted

技术标签:

【中文标题】如何使用 UCanAccess 在两个表之间创建关系?【英文标题】:How to create relationship between two tables with UCanAccess? 【发布时间】:2014-08-27 16:59:30 【问题描述】:

我使用 UCanAccess 创建了两个具有它们之间关系的表。 但它不会建立关系。为什么?怎么了?我该如何解决这个问题?

statement.execute("CREATE TABLE example1 (ExId LONG PRIMARY KEY, Title TEXT) ");
statement.execute("CREATE TABLE example2 (Id COUNTER PRIMARY KEY," + 
                " ExId LONG REFERENCES example1(ExId), Description TEXT)");

【问题讨论】:

【参考方案1】:

在您的 DDL 语句中没有什么不好,但是 UCanAccess 在 DDL 支持方面有一些限制。 它不能创建外键是这些限制之一。 目前 UCanAccess 可以创建主键和索引(唯一或不唯一)。它显然可以读取和应用所有现有的外键约束。 实际上,底层库 jackcess 可以读取外键约束,但它仍然不能创建它们。 希望以后能够加强对DDL的支持。

【讨论】:

以上是关于如何使用 UCanAccess 在两个表之间创建关系?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SQL 语句从两个特定日期(由用户指定)之间的数据库表中获取数据?

使用 UCanAccess 创建表后,ms 访问未强制执行非空约束

通过 UCanAccess 在 Eclipse 中“从表中生成实体”(MS Access)

GENERATED ALWAYS AS IDENTITY 使用 UCanAccess 生成不正确的表模式

access建立查询时,啥情况下两表之间要建立关系

如何获取特定表ucanaccess的所有列[重复]