错误1072:键列“course_id”不存在

时间:2014-11-22 09:50:41

标签: mysql

我正在尝试使用外键创建一个简单的表,但似乎ID存在问题。我已经尝试了一切,但仍然会出现错误消息,请帮忙。感谢。

CREATE TABLE `staff_info`(
`staff_id` INT NOT NULL AUTO_INCREMENT,
`first_name`      VARCHAR(45) NOT NULL,
`last_name`       VARCHAR(45) NOT NULL,
`office_add`      VARCHAR(45) NOT NULL,
`email`           INT NULL,
`changed`         TIMESTAMP,
PRIMARY KEY (`staff_id`),
FOREIGN KEY(`course_id`) 
REFERENCES `course_info`(`course_id`)
 )
ENGINE = InnoDB;

CREATE TABLE `course_info`(
`course_id` INT NOT NULL AUTO_INCREMENT, 
`name`      VARCHAR(45) NOT NULL,
`module`    VARCHAR(45) NOT NULL,
`StartDate` TIMESTAMP,
`EndDate`   TIMESTAMP,  
`course_Update` TIMESTAMP,

PRIMARY KEY(`course_id`),
FOREIGN KEY(`student_id`)
REFERENCES student(`student_id`)
)
ENGINE = InnoDB;

CREATE TABLE `student` (
`student_id`    INT NOT NULL AUTO_INCREMENT,
`first_name`    VARCHAR(45) NOT NULL,
`end_name`      VARCHAR(45) NOT NULL,
`gender`        VARCHAR(45) NOT NULL,   
`email`         VARCHAR(25) NULL,
`phone`         VARCHAR(20) NOT NULL,
`student_update`TIMESTAMP,

PRIMARY KEY(`student_id`)
);

3 个答案:

答案 0 :(得分:0)

CREATE TABLE student之前设置CREATE TABLE course_info 如果不存在student_id,则使用studen, 如果不存在course_id

,请使用course

答案 1 :(得分:0)

在用于TABLE student的SQL查询中,您缺少

ENGINE = InnoDB

因为course表正在从表FOREIGN KEY创建student

您还需要按顺序创建表格。

  
      
  1. 学生
  2.   
  3. course_info
  4.   
  5. staff_info
  6.   

答案 2 :(得分:0)

您的表格销毁和创建订单无效

CREATE TABLE `student` (
`student_id`    INT NOT NULL AUTO_INCREMENT,
`first_name`    VARCHAR(45) NOT NULL,
`end_name`      VARCHAR(45) NOT NULL,
`gender`        VARCHAR(45) NOT NULL,   
`email`         VARCHAR(25) NULL,
`phone`         VARCHAR(20) NOT NULL,
`student_update`TIMESTAMP,

PRIMARY KEY(`student_id`)
);


CREATE TABLE `course_info`(
`course_id` INT NOT NULL AUTO_INCREMENT, 
`student_id` INT, 
`name`      VARCHAR(45) NOT NULL,
`module`    VARCHAR(45) NOT NULL,
`StartDate` TIMESTAMP,
`EndDate`   TIMESTAMP,  
`course_Update` TIMESTAMP,

PRIMARY KEY(`course_id`),
FOREIGN KEY(`student_id`)
REFERENCES student(`student_id`)
)


CREATE TABLE `staff_info`(
`staff_id` INT NOT NULL AUTO_INCREMENT,
`course_id` INT,
`first_name`      VARCHAR(45) NOT NULL,
`last_name`       VARCHAR(45) NOT NULL,
`office_add`      VARCHAR(45) NOT NULL,
`email`           INT NULL,
`changed`         TIMESTAMP,
PRIMARY KEY (`staff_id`),
FOREIGN KEY(`course_id`) 
REFERENCES `course_info`(`course_id`)
 )