Mysql MariaDB中的外键约束格式不正确
这是我的sql代码,每次我在命令上执行它时,它都会给我一个错误,有人能告诉我这里缺少了什么吗?它给了我 外键约束格式不正确错误。任何帮助都会很棒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
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语句。引用的列必须是相同的数据类型,并且应该有一个唯一的索引。好吧-它对我有效:检查这里的所有条件-已经满足。