文章详情页
MySQL的check约束中可以包含子查询吗
浏览:163日期: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. docker api 开发的端口怎么获取?2. macos - mac下docker如何设置代理3. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?4. docker不显示端口映射呢?5. docker网络端口映射,没有方便点的操作方法么?6. nignx - docker内nginx 80端口被占用7. css - 关于Flex布局的问题8. angular.js使用$resource服务把数据存入mongodb的问题。9. dockerfile - 为什么docker容器启动不了?10. web服务器 - ubuntu下布置apache加wsgi加python
排行榜

网公网安备