我是SQL初学者 照着书上讲的数据完整性及其实现做个例子的时候。 发现 ,我建了个表(学号,姓名,性别),学号为主键。先往表里面填入数据(例如:0801,小明,男;0811,小红,女)
再创建CHECK 约束的时候([学号]like '08') 。属性那选择了对复制强制约束和 对INSERT 和UPDATE 强制约束。发现原表 的学号无论是修改和添加,都会错误 ,即使按照约束条件输入(例如:0877)
请问为何!~~
[学号]like '08%' 这个对了 但是能告诉我为什么加个“%”就对了吗
SQL CHECK约束 (关于like语句使用的问题)
因为你创建了一个约束为 学号]like '08'。所以你只能插入的值也只有08.加上%就可。%为通配符,后面可以插入任何数值,但必须以08开头。
SQL里怎么使用Like语句来进行约束
楼上正解,如果要规定手机号码首位为1,可以定义CHECK约束为:(手机号 LIKE '1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
sql 里check 约束问题
check ([字段名] like '[s,t]_[s]___' or [字段名] like '[s,t]_[s,n]___')
SQL一些语句冲突的问题,希望能被解决 谢谢。
测试了你的代码,发现在CONSTRAINT CK_S CHECK (学号 LIKE'[A-Z] [0-9] [0-9] [0-9] [0-9]')的约束定义中[A-Z]和[0-9]等之间都有空格,造成J0401数据违反了这个约束。请你检查一下。把你的代码修改后如下:CREATE TABLE S(学号 Char(6) NOT NULL CONSTRAINT DF_Table_1_Studentn...
在SQL中,什么是CHECK约束?
SQL CHECK 约束。CHECK 约束用于限制列中的值的范围。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义CHECK约束,那么此约束会在特定的列中对值进行限制。--删除表 drop table temp;--创建表 CREATE TABLE temp (flag NUMBER(1));--增加约束 ALTER TABLE temp ADD ...
SQL中用check约束一列的首字母为's'
检查约束首字母为s:check(col1 like 's%') 检查约束前3位和后8位均为数字字符:check(col2 like '[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') 本回答由网友推荐 举报| 答案纠错 | 评论 1 1 摆渡浮桥 采纳率:52% 来自团队:微软技术团 擅长: 数据库DB ...
SQL sever2008验证约束出错CHECK (SEMAIL char(40) like"*@*.*")
新思路!我从来没想过通过check来约束email地址。hi baidu@.com 显然地址不合法:有空格,没有域名,但是却符合你的约束。char是定长类型,用在Email地址不合适,改用varchar。出错原因,不晓得啊。你先改成varchar试试。
sql怎么用CHECK约束?
在SQL中,可以使用CHECK约束来限制表中某个列的取值范围。CHECK约束可以在创建表时或者在修改表结构时添加。在SQL中,可以使用CHECK约束来限制表中某个列的取值范围。CHECK约束可以在创建表时或者在修改表结构时添加。CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(100),age INT, -- 添加...
怎么用sql命令语句写check约束
用sql命令语句写CHECK约束的格式为CHECK (约束条件)。如:CREATE TABLE 成绩信息(成绩编号 int NOT NULL PRIMARY KEY,学生编号 nchar(50) NOT NULL,考试编号 nchar(10) NOT NULL,课程编号nchar(10) NOT NULL,分数 nchar(10) NOT NULL CHECK (分数in(between '0' and '100'))...
SQL添加约束出错
1、先把数据转存到另外一个表中:select into tmp from 号码纪录;2、删除原表数据 truncte table 号码纪录;3、增加check约束 alter table 号码纪录 add constraint ck_手机号码 check(手机号码 like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]');4、把...