外键出乎意料

时间:2015-01-07 06:44:04

标签: mysql sql foreign-keys create-table

我正在使用MySQL工作台,我正在尝试使用SQL Query创建一个包含外键的表。我对外国部分有问题。

create table employee_position
(
ePID int primary key,
ePName varchar(45) not null,
eID int foreign key references employee_profile(eID)
)

3 个答案:

答案 0 :(得分:1)

你的语法错了。尝试:

create table employee_position
(
ePID int primary key,
ePName varchar(45) not null,
eID int,
foreign key (keyname) references employee_profile(eID)
)

有关详细信息,请参阅mysql documentation

答案 1 :(得分:0)

create table employee_position
(
  ePID int primary key,
  ePName varchar(45) not null,
  eID int,
  foreign key (eID) references employee_profile(eID)
)

SQLFiddle demo

答案 2 :(得分:0)

检查MySQL中的FOREIGN KEYS

试试这个:

CREATE TABLE employee_position
(
   ePID INT NOT NULL AUTO_INCREMENT,
   ePName VARCHAR(45) NOT NULL,
   eID INT NOT NULL,
   PRIMARY KEY (ePID),
   KEY CustomerID (eID),
   CONSTRAINT FK_employee_position_EP 
           FOREIGN KEY (eID) 
           REFERENCES employee_profile (eID) ON DELETE CASCADE ON UPDATE CASCADE
);