文章详情页
MySQL的check约束中可以包含子查询吗
浏览:134日期:2022-06-21 09:44:00
问题描述
我写了一句SQL如下:
create table if not exists Teachings( teacher varchar(255), classid varchar(32) references Class(id) check(teacher in (select username from Users where role = ’teacher’)));
但是在执行的时候报错(MySQL版本5.6.30):
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’check(teacher in (select username from Users where role = ’teacher’)))’ at line 4
是不是MySQL中的check约束不能包含子查询呢?如果是,我的这句SQL应该怎么实现呢?
PS:完整的SQL见这里
问题解答
回答1:DDL漏了个逗号
MySQL并不支持CHECK约束,参见MySQL文档
可以用触发器来实现
相关文章:
1. javascript - hexo可以配置文章文件名为随机数么?2. python3.x - python 中的maketrans在utf-8文件中该怎么使用3. python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。4. css - ul ol前边的标记如何调整样式呢5. 用CSS3 box-sizing 属性实现两个并排的容器,如果想让容器中间有间隔该如何实现6. mysql - C#连接数据库时一直这一句出问题int i = cmd.ExecuteNonQuery();7. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?8. java - ajax成功到后台不知道为什么一直回调失败函数9. node.js - webpack 配置文件 运行出错10. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?
排行榜

网公网安备