Mysql MariaDB中的外键约束格式不正确

Mysql MariaDB中的外键约束格式不正确,mysql,mariadb,Mysql,Mariadb,这是我的sql代码,每次我在命令上执行它时,它都会给我一个错误,有人能告诉我这里缺少了什么吗?它给了我 外键约束格式不正确错误。任何帮助都会很棒 Create table course (course_id varchar(8), title varchar(50), dept_name varchar(20), credits numeric(2,0) check (credits > 0), primary key (course_id), foreign key (dept_name

这是我的sql代码,每次我在命令上执行它时,它都会给我一个错误,有人能告诉我这里缺少了什么吗?它给了我 外键约束格式不正确错误。任何帮助都会很棒

Create table course (course_id varchar(8), title varchar(50), dept_name varchar(20), credits numeric(2,0) check (credits > 0), primary key (course_id), foreign key (dept_name) references department on delete set null );
这是参考表:

create table department
    (dept_name      varchar(20), 
     building       varchar(15), 
     budget             numeric(12,2) check (budget > 0),
     primary key (dept_name)
    );
见文件:

[CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

[CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
例如:

如果不存在,则创建表 课程号:varchar8, 标题varchar50, 部门名称varchar20, 积分数字2,0检查积分>0, 主键课程编号, 外键部门名称 -在删除集null时引用部门 在删除集null上引用部门名称 ;
请参阅。

提示:参考表\u name列\u name。请阅读文档。不工作!同样的错误请调整你的陈述。并发布引用表的CREATE语句。引用的列必须是相同的数据类型,并且应该有一个唯一的索引。好吧-它对我有效:检查这里的所有条件-已经满足。