2013-06-21 42 views
-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)以下如何使用外鍵作爲另一個表的主鍵在mysql數據庫中創建表?

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) 
); 
+2

請顯示您的代碼至今 –

+0

您是否嘗試過使用CREATE TABLE語句? –

回答

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) 
); 

我希望你瞭解創建表代碼。 ownershirt表中是外鍵引用idperson

0

你有幾個錯誤。您在登錄表中缺少e_id列,無法添加外鍵而不添加employee_detail的主鍵列(在本例中爲e_id)。此外,您不能將密碼用作列名,因爲它是預先建立的查詢,您需要使用其他類似「通過」的查詢。

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) 
); 
相關問題