【发布时间】:2011-02-22 16:39:58
【问题描述】:
我有一个 Access 数据库,我想在其中存储公司中的联系人: 在这个数据库中,我有一个名为“users”的表,我在其中保存用户 它将有权访问数据库。在名为“联系人”的主表中, 我的两个字段“insert_user”和“contact_user”指的是用户 谁输入了联系信息以及实际联系的用户。 我的想法是,我必须将两个字段都设置为外键 到同一个表/字段,即“用户”/“用户名”。
所以: 我在两个不同的字段中设置了两个外键约束(“insert_user”、“contact_user”),指的是同一个表/字段(“users”/“username” ) 在一个 访问数据库,使用 VB.Net OleDB(参见下面的 SQL 语句)
ALTER TABLE contacts ADD CONSTRAINT insert_user_foreignkey FOREIGN KEY (insert_user) REFERENCES users (username)
ALTER TABLE contacts ADD CONSTRAINT contact_user_foreignkey FOREIGN KEY (contact_user) REFERENCES users (username)
我用 MS-Access 打开数据库。 我看到所有的表都很好(应该是这样)。
但是,当我在 Access 中单击关系时,我的所有表以及名为 users_1 的表都连接到“contacts”/“contact_user”(表 users 仅连接到“contacts”/“insert_user”)
很奇怪,在Access的Table View中看不到这个表,而只在Relationships View中看到。
问题
- 我的想法是否正确(设置 2 个外键,指向同一个表/字段)?
- 这个表“users_1”是什么?
- 我的数据库会正常工作还是我做错了什么?
【问题讨论】:
标签: vb.net ms-access foreign-keys