我将forward engineering我的MySQL数据库插入WAMP服务器时遇到了麻烦。我打算发布模式的图像,但这是我不能的第一篇文章。
下面是执行的脚本。
use aquaticstar;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- Table Students
DROP TABLE IF EXISTS Students
;
CREATE TABLE IF NOT EXISTS Students
( id
VARCHAR(10) NOT NULL , studentName
VARCHAR(45) NOT NULL , gender
CHAR NOT NULL , birthDate
DATETIME NOT NULL , mNo
VARCHAR(10) NOT NULL , contactName
VARCHAR(45) NOT NULL , contactEmail
VARCHAR(45) NOT NULL , contactPhone
INT(10) NOT NULL , startDate
DATETIME NOT NULL , remarks
VARCHAR(200) NULL , PRIMARY KEY (id
) ) ENGINE = InnoDB;
-- Table Waiting List
DROP TABLE IF EXISTS Waiting List
;
CREATE TABLE IF NOT EXISTS Waiting List
( wait_id
VARCHAR(5) NOT NULL , name
VARCHAR(45) NULL , contactName
VARCHAR(45) NULL , contactPhone
INT(10) NULL , contactEmail
VARCHAR(45) NULL , status
CHAR NULL , remarks
VARCHAR(200) NULL , PRIMARY KEY (wait_id
) ) ENGINE = InnoDB;
-- Table Schedule
DROP TABLE IF EXISTS Schedule
;
CREATE TABLE IF NOT EXISTS Schedule
( lesson_id
VARCHAR(10) NOT NULL , day
VARCHAR(3) NOT NULL , branch
VARCHAR(30) NOT NULL , level
VARCHAR(30) NOT NULL , time
TIME NOT NULL , ae
VARCHAR(45) NOT NULL , PRIMARY KEY (lesson_id
) ) ENGINE = InnoDB;
-- Table Link
DROP TABLE IF EXISTS Link
;
CREATE TABLE IF NOT EXISTS Link
( link_id
VARCHAR(10) NOT NULL , id
VARCHAR(10) NOT NULL , lesson_id
VARCHAR(10) NOT NULL , PRIMARY KEY (link_id
) , INDEX id_idx
(id
ASC) , INDEX lesson_id_idx
(lesson_id
ASC) , CONSTRAINT id
FOREIGN KEY (id
) REFERENCES Students
(id
) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT lesson_id
FOREIGN KEY (lesson_id
) REFERENCES Schedule
(lesson_id
) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
-- Table Attendance
DROP TABLE IF EXISTS Attendance
;
CREATE TABLE IF NOT EXISTS Attendance
( date
DATETIME NOT NULL , attendance
VARCHAR(5) NOT NULL , link_id
VARCHAR(10) NOT NULL , INDEX link_id_idx
(link_id
ASC) , CONSTRAINT link_id
FOREIGN KEY (link_id
) REFERENCES Link
(link_id
) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- Data for table Students
START TRANSACTION; INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s001', 'Sam Khew', 'm', '12/12/1991', 'nm', 'May Khew', 'may@gmail.com', 0198829387, '12/07/2011', NULL); INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s002', 'Joe Biden', 'm', '13/03/2003', 'nm', 'Layla Biden', 'layla@gmail.com', 0199283763, '14/05/2011', NULL); INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s003', 'Bob Builder', 'm', '14/02/2002', 'LK920K', 'Mama Builder', 'mama@yahoo.com', 0167728376, '29/02/2012', NULL); INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s004', 'Kenny Koh', 'm', '18/02/1999', 'MM992', 'Lisa Koh', 'lk@hotmail.com', 0123160231, '19/01/2012', NULL); INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s005', 'Jane Doe', 'f', '29/09/1999', 'nm', 'Jackie Doe', 'jackied@gmail.com', 0127736254, '02/03/2012', NULL); INSERT INTO Students
(id
, studentName
, gender
, birthDate
, mNo
, contactName
, contactEmail
, contactPhone
, startDate
, remarks
) VALUES ('s006', 'Lola Lai', 'f', '02/05/2004', 'nm', 'Mark Lai', 'mark@gmail.com', 0198827365, '11/09/2011', NULL);
COMMIT;
-- Data for table Schedule
START TRANSACTION; INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat1_s4', 'Sat', 'Sunway', 'basic', '4pm', 'Aini'); INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat1_s5', 'Sat', 'Sunway', 'basic', '5pm', 'Aini'); INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat1_s6', 'Sat', 'Sunway', 'basic', '6pm', 'Aini'); INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat2_s4', 'Sat', 'Sunway', 'advance', '4pm', 'Nina'); INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat2_s5', 'Sat', 'Sunway', 'advance', '5pm', 'Nina'); INSERT INTO Schedule
(lesson_id
, day
, branch
, level
, time
, ae
) VALUES ('sat3_s6', 'Sat', 'Sunway', 'pre-comp', '6pm', 'Marcus');
COMMIT;
-- Data for table Link
START TRANSACTION; INSERT INTO Link
(link_id
, id
, lesson_id
) VALUES ('L001', 's001', 'sat1_s4'); INSERT INTO Link
(link_id
, id
, lesson_id
) VALUES ('L002', 's002', 'sat1_s5'); INSERT INTO Link
(link_id
, id
, lesson_id
) VALUES ('L003', 's003', 'sat1_s6'); INSERT INTO Link
(link_id
, id
, lesson_id
) VALUES ('L004', 's004', 'sat2_s4'); INSERT INTO Link
(link_id
, id
, lesson_id
) VALUES ('L005', 's005', 'sat1_s5');
COMMIT;
-- Data for table Attendance
START TRANSACTION; INSERT INTO Attendance
(date
, attendance
, link_id
) VALUES ('26/9/2012', '1', NULL);
COMMIT; 但是然后我得到这个错误:
Executing SQL script in server ERROR: Error 1005: Can't create table 'aquaticstar.link' (errno: 121) 我不知道为什么。谁能帮我?
我迅速搜寻了你,它把我带到了这里。我引用:
如果您尝试添加名称已经在其他地方使用的约束,则会收到此消息
要检查约束,请使用以下SQL查询:
SELECT constraint_name, table_name FROM information_schema.table_constraints WHERE constraint_type = 'FOREIGN KEY' AND table_schema = DATABASE() ORDER BY constraint_name; 在此处查找更多信息,或尝试查看错误发生的位置。看起来像是我的外键有问题。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。