成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL的check約束中可以包含子查詢嗎

瀏覽:101日期: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’)));

但是在執(zhí)行的時候報錯(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應(yīng)該怎么實現(xiàn)呢?

PS:完整的SQL見這里

問題解答

回答1:

DDL漏了個逗號

MySQL并不支持CHECK約束,參見MySQL文檔

可以用觸發(fā)器來實現(xiàn)

相關(guān)文章: