我正在使用SQL Server 2017和SMMS创建一个实践数据库,它是一个记录存储,我正在创建表艺术家,我希望有一个限制,不允许适度的鼠标或良好的夏洛特在艺术家领域。我们不卖那些。不管怎样,
CREATE TABLE ARTIST (
ArtistID Int NOT NULL IDENTITY(1,1),
ArtistName Char(30) NOT NULL,
Genre Char(15) NOT NULL,
CONSTRAINT ArtistPK PRIMARY KEY(ArtistID),
CONSTRAINT CheckCertainArtists CHECK ([ArtistName] NOT 'Modest Mouse' OR 'Good Charlotte')
);
不用说这没用。
有什么想法吗?
最佳答案
您的描述暗示了一个简单的CHECK
约束:
CONSTRAINT chk_artist_artistname
CHECK (ArtistName NOT IN ('Modest Mouse' , 'Good Charlotte'));
然而,我发现这是一个奇怪的限制。有无数其他的名字,其中许多可能是你不卖的艺术家(甚至根本不是艺术家)。不清楚你为什么停在这两个地方。也许你只想包括你卖的艺术家。
关于mysql - 希望SQL Server CONSTRAINT不允许某个特定的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50166039/