我试图创建一个数据库,我的数据库中有一个表,想要添加另一个表。
我有这张桌子:
create table department(
dept_name varchar(20),
building varchar(20) not null,
budget numeric(8,2),
primary key (dept_name)
)
我要添加此表:
create table student (
ID varchar(5),
name varchar(20) not null,
dept_name varchar(20),
tot_cred numeric(3,0),
primary key (ID),
foreign key (dept_name) references department
)
但是我收到了这个错误:
#1215 - Cannot add foreign key constraint
你们可以帮我解决这个问题吗? 感谢。
答案 0 :(得分:0)
你的第二张桌子应该是 -
create table student (
ID varchar(5),
name varchar(20) not null,
dept_name varchar(20),
tot_cred numeric(3,0),
primary key (ID),
foreign key (dept_name) references department(dept_name)
)
注意:最好在父表中包含dept_id作为int,并在第二个表中创建引用以获得更好的性能。
按照以下方式创建表格 -
create table department(
dept_id int auto_increment,
dept_name varchar(20),
building varchar(20) not null,
budget numeric(8,2),
primary key (dept_id)
);
create table student (
ID varchar(5),
name varchar(20) not null,
dept_it int,
tot_cred numeric(3,0),
primary key (ID),
foreign key (dept_id) references department(dept_id)
)