先上代码:
CREATE DATABASE students
ON PRIMARY
(NAME=student1_dat,
FILENAME='D:\test\student1_dat.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=20%)
LOG ON(
NAME=student_log,
FILENAME='D:\test\student1_log.ldf',
SIZE=5MB,
MAXSIZE=25MB,FILEGROWTH=5MB)
USE students
CREATE TABLE course
( Cno char(6) PRIMARY KEY
check(Cno like('[JB,ZB,XX,RX][0-9][0-9][0-9][0-9]')),//报错是显示这里出的问题,出现冲突
Cname NVARCHAR(40) NOT NULL,
Credit NUMERIC(3,1) CHECK(0.5<=Credit AND Credit<=5),
CSH int,
CCategory Char(8) CHECK(CCategory IN('基础必修','专业必修','限选','任选'))
)
然后插入数据:
USE students
INSERT INTO course(Cno,Cname,Credit,CSH)
VALUES
('JB1234','高等数学','4.0','64');
会报错:
消息 547,级别 16,状态 0,第 3 行
INSERT 语句与 CHECK 约束"CK__course__Cno__07F6335A"冲突。该冲突发生于数据库"students",表"dbo.course", column 'Cno'。
语句已终止。
**Cno的数据要求是:
前两个字符为大写字母,
其中JB表示基础必修,ZB表示专业必修,XX表示限选,RX表示任选;
后面4个为数字,表示课程编号。**
图形化编辑也会出现这样的报错:
很有可能是我定义的方式不对....但是我尝试了很多种方法也是一样报错
求大佬解答,问题到底出在哪里?