実装しようとしているデータベースについて簡単に質問しています。私は私のようないくつかの他の質問に言及しましたが、私の特定の質問にはあまり答えません。エラーコード1215、外部キー制約を追加できません
私は比較的新しいSQLを使用しています。私はそれまでに1つのクラスを取りました。ここでリフレッシャーの一種。言ってエラーのため
私はMySQLを使用してこのデータベースを構築しようとすると、私は私のテーブルのいずれかを作成することはできませんよ「エラーコード1215は、外部キー制約を追加することはできません」
私はちょうど何かをしないのです明らかですか?以下は
は私のSQLです:
create database emp;
use emp;
select database();
create table employee
(Fname varchar (15),
Minit varchar (1),
Lname varchar (15),
Ssn int (9) not null,
Bdate varchar (10),
Address varchar (40),
Sex varchar (1),
Salary varchar (10),
Super_ssn varchar (9),
Dno int (1),
primary key(Ssn),
foreign key(Super_ssn) references employee(Ssn),
foreign key(Dno) references department(Dnumber)
)
Engine=INNODB;
create table department
(Dname varchar (15),
Dnumber int (1) not null,
Mgr_ssn int (9),
Mgr_start_date varchar (15),
primary key(Dnumber),
foreign key(Mgr_ssn) references employee (Ssn)
)
Engine=INNODB;
create table dept_locations
(Dnumber int (1) not null,
Dlocation varchar (15) not null,
primary key(Dnumber, Dlocation),
foreign key(Dnumber) references department(Dnumber)
)
Engine=INNODB;
create table project
(Pname varchar (15),
Pnumber int (3) not null,
Plocation varchar (15),
Dnum int (1),
primary key(Pnumber),
foreign key(Dnum) references department(Dnumber)
)
Engine=INNODB;
create table works_on
(Essn int (9) not null,
Pno int (3) not null,
hours float (4),
primary key(Essn, Pno),
foreign key (Essn) references employee(Ssn),
foreign key(Pno) references project (Pnumber)
)
Engine=INNODB;
create table dependent
(Essn int (9) not null,
Dependent_name varchar (15) not null,
Sex varchar (1),
Bdate varchar (10),
Relationship varchar (10),
primary key(Essn, Dependent_Name),
foreign key (Essn) references employee(Ssn)
)
Engine=INNODB;
作成するテーブルステートメントは、実際には失敗していますか? –
ひとつひとつが、私が最初に始めたのは従業員です。 – Gary