我想与MYSQL PHPMYADMIN创建一个表关系。
我有这个创建表:
CREATE TABLE students(code_students int(8)not null AUTO_INCREMENT,
name_students varchar(25),
age_students int(3),
degree_program varchar(25),
code_advisor int(8)not null,
primary key(code_students, code_advisor)
);
我希望在code_students,code_advisor之间创建一个名为advise关系的create table。
好的,这是我的试用。
CREATE TABLE advise (
code_students int(8),
code_advisor int(8),
primary key(code_students, code_advisor),
foreign key(code_students)references students(code_students),
foreign key(code_advisor)references students(code_advisor)
);
答案 0 :(得分:0)
mySQL说:
A FOREIGN KEY constraint that references a non-UNIQUE key is not standard SQL. It is an InnoDB extension to standard SQL
尝试将UNIQUE关键字添加到第一个表中:
CREATE TABLE students(
code_students int(8)not null unique AUTO_INCREMENT,
name_students varchar(25),
age_students int(3),
degree_program varchar(25),
code_advisor int(8)not null unique,
primary key(code_students, code_advisor)
);
查看这个sqlFiddle,看看它是如何工作的,然后尝试删除UNIQUE关键字,看看你得到了与你提到的相同的错误。 (点击Build Schema
按钮)