为了账号安全,请及时绑定邮箱和手机立即绑定

sql server建表时不知道要怎么设置条件

sql server建表时不知道要怎么设置条件

慕哥4957459 2017-09-23 10:25:07
我最近刚学了sql server,想建立一个表,代码如下:CREATE TABLE 中国居民身份信息表 (姓名 varchar(50) NOT NULL ,性别 varchar(5) CHECK(性别='男' OR 性别='女') NOT NULL,身份证 varchar(18) CHECK (LEN(身份证) IN (18)) PRIMARY KEY,出生年月 varchar(8) CHECK(出生年月=SUBSTRING('身份证',6,8))NOT NULL,年龄 int CHECK(年龄=2017-CONVERT(INT,SUBSTRING('身份证',6,4))and 年龄<=150 and 年龄>0));一开始我想让出身年月和年龄根据我输入的身份证字符自动生成,用的是DEFAULT约束,不过不行,后来想让这两个字段要符合上面的规则,不过不知道怎么写,在网上找了很久还是找不到,希望有知道的朋友告诉我在建表的过程中能不能实现这些要求,谢谢!
查看完整描述

1 回答

已采纳
?
HalfAnHour

TA贡献52条经验 获得超73个赞

这些东西都是代码上来实现的,跟你的表没关系。比如你的身份证,老版的身份证貌似15位数,新版的才18位,你不能在数据库就限制必须18位,出生年月的话最好存入时间戳,这样方便计算。假如人家进来不填写性别,你怎么办?默认设置男?所以可以用数字代替0男1女2保密。当然我上面的全是我个人的想法。拙见

查看完整回答
反对 回复 2017-09-23
  • 1 回答
  • 0 关注
  • 1442 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信