【发布时间】:2016-10-21 19:17:22
【问题描述】:
嗨 我想在三个表之间实现一对一的关系,这样 rtTicketId (1) 只能用于 vmID(1) 而不能由 dbId(1) 使用。
create table IF NOT EXISTS RequestTable (
rtTicketId bigserial unique not null AUTO_INCREMENT,
primary key (rtTicketId));
create table IF NOT EXISTS Vm (
vmId bigserial unique not null AUTO_INCREMENT,
primary key (vmId),
foreign key (rtTicketId) references RequestTable(rtTicketId));
create table IF NOT EXISTS Db (
dbId bigserial unique not null AUTO_INCREMENT,
rtTicketId bigserial unique not null,
primary key (dbId),
foreign key (rtTicketId) references RequestTable(rtTicketId));
我已经这样做了,但这只会在两个分别创建一对一的关系。我希望 rt id 是唯一的。现在 vm 和 db 表都可以使用相同的 rtTicketId 连接到请求表。 我不想要那个
【问题讨论】:
-
完全清楚 - 请求可以针对数据库或虚拟机,但不能同时针对两者?
-
@NevilleK 是的,一次只能请求一个人
-
stackoverflow.com/questions/1493229/… - 这能回答你的问题吗?
-
@NevilleK yup 解决了我的问题,谢谢