MySQL: как добавить внешний ключ - PullRequest
2 голосов
/ 23 февраля 2010

У меня есть следующий код в MySQL.

create table employee(
    e_id int(10) not null auto_increment,
    user_id int(10),
    usertype_id default 1,
    name varchar(50),
    primary key (e_id)
);
create table relation(
    r_id int(10) not null auto_increment,
    user_id int(10) not null,
    usertype_id int(10) not null,
    interest_id int(10) not null,
    primary key (id)
);

Во-первых, я хочу, чтобы user_id имел то же значение, что и столбец e_id;

И затем я хочу добавить user_id и usertype_id в качестве единства в таблице relation в качестве внешнего ключа для user_id и usertype_id в таблице employee.

Ты знаешь, как это сделать?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Вы можете сделать user_id и usertype_id в таблице relation в качестве внешних ключей для тех же столбцов в таблице employee, например:

create table relation(
    r_id int(10) not null auto_increment,
    foreign key user_id references employee(user_id),
    foreign key usertype_id references employee(usertype_id),
    interest_id int(10) not null,
    primary key (id)
);

Я не могу помочь вам, если e_id и user_id равны друг другу. Честно говоря, это звучит как пустая трата пространства.

0 голосов
/ 23 февраля 2010

Вы можете ввести триггер, чтобы гарантировать, что e_id и user_id содержат одинаковое значение, но я согласен с предыдущим постером. Какой смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...