主题/标题不是那么直观,我只需要举个例子
假设我们有一个名为ARTICLE的表,如下所示:
ARTICLE (idArticle, IdConference, IdMagazine, DateSent, Title, Sector);问:插入一个约束,使idArticle只有一个IdConference或只有一个IdMagazine --但不能同时有这两个。
我马上就知道会是这样的:
Alter table Article
add constraint checkidArt check( )但是我不知道如何指定列IdArticle应该只有一个IdConference或只有一个IdMagazine值。
发布于 2017-07-14 18:42:52
假设它是SQL Server,因为MySQL没有检查约束:
ALTER TABLE Article
ADD CONSTRAINT checkidArt CHECK (IdConference IS NULL OR IdMagazine IS NULL)发布于 2017-07-14 18:41:24
如果你使用的是MySQL,那么就不可能添加约束,因为MySQL不支持CHECK约束。对文档执行Here's操作:
所有存储引擎都会解析但忽略CHECK子句。
因此,您唯一的选择是使用带有SIGNAL SQLSTATE和MESSAGE_TEXT的TRIGGER来标记错误。
https://stackoverflow.com/questions/45100818
复制相似问题