为什么我的SQL表创建不能在Codio中工作?

时间:2017-06-11 20:55:36

标签: mysql sql

我正在尝试完成我的作业,但是收到一条错误消息,说我正在创建的表格与预期输入的内容不匹配。这是表应该包含的内容:

+-----------+-----------------+------+-----+---------+----------------+
| Field     | Type            | Null | Key | Default | Extra          |
+-----------+-----------------+------+-----+---------+----------------+
| id        | int(3) unsigned | NO   | PRI | NULL    | auto_increment |
| room_num  | int(4) unsigned | NO   | UNI | NULL    |                |
| course_id | int(3) unsigned | YES  | MUL | NULL    |                |
+-----------+-----------------+------+-----+---------+----------------+

我尝试实现此目的的代码是:

CREATE TABLE college.classrooms (

id INT(3) UNSIGNED NOT NULL AUTO_INCREMENT,

room_num INT(4) UNSIGNED NOT NULL UNIQUE KEY,

course_id INT(3) UNSIGNED DEFAULT NULL,

PRIMARY KEY (id),

FOREIGN KEY (course_id) REFERENCES college.courses(id)

) AUTO_INCREMENT = 1;

我的学校使用Codio并自动检查表格,看它是否正确,这是我得到的错误信息:

  

[错误]:使用请求的结构创建“教室”表。重置数据库,然后重试

我的代码中缺少什么才能使其工作?我已经创建了它引用的表(课程)。

2 个答案:

答案 0 :(得分:0)

它是否可能在FOREIGN KEY REFERENCES上下文失败?您正在尝试创建一个表格,该表格预期可以在辅助表格中找到course_id" college.courses"。如果尚未创建college.courses表,则此表永远不会引用它。

确保首先创建COURSES表

答案 1 :(得分:0)

SELECT c.*
FROM customers c
WHERE NOT EXISTS (select *
                  from orders o
                    join orderdetails od on o.orderid = od.orderid
                  where o.customerid = c.customerid
                    and od.productid = 70);