Bel*_*ash 0 sql ssms constraints sql-server-2008 check-constraint
为了获得类似于mysql ENUM类型的列,我编写了一个sql查询,如下所示
ALTER TABLE [DbName].[dbo].[MediaContent]
ADD MediaType nvarchar(50)
check(MediaType in ('audio','video','song','other'))
Run Code Online (Sandbox Code Playgroud)
这如愿(用于测试):但现在我想删除此列但没有成功。似乎没有办法直接删除有约束的列。我该如何解决这个问题?我想删除此列并创建另一列。
这是我在删除时收到的错误消息
The object 'CK__MediaCont__Media__14270015' is dependent on column 'MediaType'.
ALTER TABLE DROP COLUMN MediaType failed
because one or more objects access this
column. (Microsoft SQL Server, Error: 5074)
Run Code Online (Sandbox Code Playgroud)
错误消息中引用的对象是约束的名称。您应该能够使用以下内容:
ALTER TABLE [DbName].[dbo].[MediaContent]
DROP CONSTRAINT CK__MediaCont__Media__14270015
Run Code Online (Sandbox Code Playgroud)