我试图在MySQL中创建我的第一个数据库,遇到了一点问题,当尝试运行下表时,我得到了以下错误:
错误代码3813:列检查约束“section_ck_1”引用其他列。
这是我想写的表格
create table section (
course_id varchar(8),
sec_id varchar(8),
semester varchar(6) check (semester in (`Fall`, `Winter`, `Spring`, `Summer`)),
year numeric(4,0) check (year > 1701 and year < 2100),
building varchar(15),
room_number varchar(7),
time_slot_id varchar(4),
primary key (course_id, sec_id, semester, year),
foreign key(course_id) references course(course_id) on delete cascade,
foreign key (building, room_number) references classroom on delete set null);
我相信这是我的'学期'或'年'行不正确的东西,虽然我不知道问题是什么,或者我将如何去修复它。
1条答案
按热度按时间o4tp2gmn1#
我想你的意思是使用单引号来使四季字符串字面量。它应该是这样的:
字符串字面值属于单引号。
反引号用于分隔标识符,如表名和列名。使用反引号的方式使
semester
看起来像是您希望Fall
,Winter
,Spring
,Summer
具有与其他四个列中的一个相同的值。