1. 程式人生 > >MySQL ERROR 1215 (HY000)的一個情況

MySQL ERROR 1215 (HY000)的一個情況

MySQL ERROR 1215 MySQL Warning 1265

create table pcourse(
cno char(9),
cpno char(9),
primary key(cno,cpno),
foreign key(cno) references course(cno),
foreign key(cpno) references course(cno)
);
ERROR 1215 (HY000): Cannot add foreign key constraint


西電數據庫上機作業。這個外鍵就是添不上去。之前student和course因為有中文數據,所以set character_set_server和set character_set_database均=utf8,但建表的時候需要定義後還是需要加上default charset=utf8。所以應該是這樣:

create table pcourse(
cno char(9),
cpno char(9),
primary key(cno,cpno),
foreign key(cno) references course(cno),
foreign key(cpno) references course(cno)
) default charset=utf8;
註意defualt前面要有空格才行,不然還是ERROR 1215 (HY000): Cannot add foreign key constraint。

建立表course的時候不需要外鍵:
create table course(
cno char(9),
cname char(48) not null,

ccredit int,
primary key (cno)
);
Warning | 1265 | Data truncated for column ‘cname‘ at row 1
這個同樣設置default charset=utf8就解決了。

MySQL ERROR 1215 (HY000)的一個情況