-2
CREATE TABLE employee_detail(
 e_id int auto_increment,
 name varchar(20) not null,
 address varchar(20) not null,
 status varchar(200) not null,
 primary key (e_id),    
);

这是我的第一个表(employee_login),我希望 e_id 在下面的下一个表(login)中作为外键

CREATE TABLE login(
 login_id int auto_increment,
 username varchar(20) not null,
 password varchar(20) not null,
 primary key (login_id),
 e_id references employee_detail(e_id) 
);
4

2 回答 2

0

你有几个错误。您的登录表中缺少 e_id 列,如果不添加employee_detail 的主键列(在本例中为 e_id),则无法添加外键。此外,您不能使用密码作为列名,因为它是一个预先建立的查询,您需要使用“pass”之类的其他内容。

CREATE TABLE employee_detail(
 e_id int auto_increment,
 name varchar(20) not null,
 address varchar(20) not null,
 status varchar(200) not null,
 primary key (e_id));

CREATE TABLE login(
 login_id INT PRIMARY KEY AUTO_INCREMENT, 
 username VARCHAR(20) NOT NULL,
 pass VARCHAR(20) NOT NULL,
 e_id INT,
 FOREIGN KEY (e_id) REFERENCES employee_detail(e_id) 
 );
于 2014-11-29T04:18:25.300 回答
0

你可以这样做:

CREATE TABLE person (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    name CHAR(60) NOT NULL,
    PRIMARY KEY (id)
);

CREATE TABLE shirt (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
    color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
    owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),
    PRIMARY KEY (id)
);

我希望你理解创建表的代码。owner表中是从表中shirt引用的外键idperson

于 2013-06-21T07:10:10.263 回答