如何为此属性创建 CHECK 约束?

问题描述 投票:0回答:1

学生详细信息包括姓名、学号、地址、大学电子邮件地址和手机号码。

学号的格式是两个字母的院系名称(CS 代表计算机科学与工程,AM 代表人工智能和机器学习),一个字母代表课程(M 代表 MS,P 代表博士)以及两位开头的学号与 01.

CREATE TABLE STUDENT (
ROLL_NO CHAR(7) PRIMARY KEY CHECK(ROLL_NO LIKE '[A-Z][A-Z][M,P][0-9][0-9][01-99]'),
NAME VARCHAR(20),
ADDR VARCHAR(50),
SMOB_NO BIGINT CHECK (MOB_NO BETWEEN 1000000000 AND 9999999999),
SU_EMAIL VARCHAR(20)
);

错误信息:

第 13 行附近的运行时错误:CHECK 约束失败:ROLL_NO LIKE '[A-Z][A-Z][M,P][0-9][0-9][0-9]' (19)

sql sqlite constraints
1个回答
0
投票

--创建如下表 --oracle 中的类似操作符在创建表时不支持 --下面的查询将起作用

创建学生表( ROLL_NO VARCHAR2(7) 主键检查 (REGEXP_LIKE(ROLL_NO, '^[A-Z][A-Z][M,P][0-9]{2}$')), 名称 VARCHAR2(20), 地址 VARCHAR2(50), SMOB_NO 编号检查(SMOB_NO 介于 1000000000 和 9999999999 之间), SU_EMAIL VARCHAR2(20) );

© www.soinside.com 2019 - 2024. All rights reserved.