文章詳情頁
MySQL的check約束中可以包含子查詢嗎
瀏覽:152日期: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 - mongodb怎么設置用戶的賬戶不重復?2. javascript - "CommonsChunkPlugin now only takes a single argument.。。。。3. 請問各位java自帶類的一些問題4. css - transition 的使用?5. mysqld無法關閉6. javascript - RN項目iOS端真機測試賬號無法登錄!7. python 字符串匹配問題8. redis sentinel怎么跑守護進程以及日志記錄位置的?9. Discuz! Q 有人用過嗎?10. android - 分享到微信,如何快速轉換成字節數組
排行榜

網公網安備