PHPMYADMIN中的MYSQL - 从一个表创建表关系

时间:2012-11-23 10:56:45

标签: mysql phpmyadmin relationship create-table

我想与MYSQL PHPMYADMIN创建一个表关系。

enter image description here

我有这个创建表:

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

1 个答案:

答案 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按钮)

http://sqlfiddle.com/#!2/46b69