
数据库使用enum改成check约束的方法:在应用程序里面对数据进行检查再插入,设置check约束的字段范围小,并且比较容易列举全部的值,可以将该字段的类型设置为enum类型或set类型。设置check约束的字段范围大,且列举全部值比较困难,使用触发器来代替约束实现数据的有效性。
在企业管理器中这样写:stuSex='男'orstuSex='女'\r\n\r\n用代码就这样写约束\r\naltertablestuInfoaddconstraintCK_stuSexcheck(stuSex='男'orstuSex='女')\r\n其中stuInfo是表名,stuSex是你要设置约束的列名
你的语句有问题,首先用like不是这样用的,应该是:check(chk_id like ‘’ or chk_id like ''),其次你不能用like控制长度的吧,like是匹配字符的,不是匹配长度,长度用len,你把这列属性设置为 int,然后check(len(chk_id) in ('18','15'))
具体如下:
create table a_test
(
id int null ,
chk_id int null check(len(chk_id) in ('18','15'))
)
create table CTest
(name varchar(500))
alter table CTest
add CONSTRAINT cCusAbbName CHECK ((name LIKE '%[a-zA-Z]%') and LEN(name)>6)
在SQL表中的性别进行check约束步骤如下:
1、下面我们打开SQL SERVER查看一下要 *** 作的表的数据结构。
2、接下来我们给这个表添加一个Check约束,约束将会对Country字段的值进行检测。
3、接下来我们通过insert语句向表中添加一行数据,注意Country字段先随便赋一个值,如下图所示,你会看到语句执行报错了。
4、我们查一下数据表中是否已经插入了数据,你会看到数据并未被插入。
5、如果我们将Country改成Check允许的值,然后在进行插入 *** 作。
6、这个时候我们在执行select语句,你会看到这条语句已经插入进数据表中了。
以上就是关于数据库如何把enum改为check约束全部的内容,包括:数据库如何把enum改为check约束、sqlcheck约束中怎么把性别字段的check约束设成男或女(在企业管理器中)、sql check 约束 表达式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)