当前位置:首页 » 操作系统 » 数据库中check约束

数据库中check约束

发布时间: 2023-06-10 19:20:30

❶ 在数据库sql)中要check 约束一个密码的长度表达式怎么写的

数据库中约束一个密码的长度分两种情况,一种是表还未建,在建立过程中约束;另一种是表已存在,在此基础上约束。

工具:sqlserver 2008 R2

第一种情况(创建表过程中创建约束):

1、语句如下:

createtable[user]
(idint,
pwdvarchar(20)check(len(pwd)between6and20),--代表密码长度最短为6,最长为20
namevarchar(20));

2、创建后,可用长度短于6位的密码,长度在6-20位之间的密码,长度大于20位的密码分别验证。

密码短于6位(报错):

❷ 数据库check约束

现在要说的是在列这一层次过滤的基于表定义之前就规范好的 CHECK 约束。(MySQL 版本 >= 8.0.16)

  • mysql> create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0));

  • Query OK, 0 rows affected (0.03 sec)

  • mysql> create table f2 (r1 int constraint tb_f2_r1_chk1 check (mod(r1,3)=0) not enforced);

  • Query OK, 0 rows affected (0.02 sec)

  • 这里 CHECK 约束的相关限制如下:

    1. constraint 名字在每个数据库中唯一。

    也就是说单个数据库里不存在相同的两个 constraint,如果不定义,系统自动生成一个唯一的约束名字。

    2. check 约束针对语句 insert/update/replace/load data/load xml 生效;针对对应的 ignore 语句失效。

    3. 并非每个函数都可以使用,比如函数结果不确定的:NOW(),CONNECTION_ID(),CURRENT_USER()。

    4. 不适用于存储过程和存储函数。

    5. 系统变量不适用。

    6. 子查询不适用。

    7. 外键动作(比如 ON UPDATE, ON DELETE) 不适用。

    8. enforced 默认启用,如果单独加上 not enforced ,check 约束失效。

❸ SQL SERVER中如何更改CHECK约束

ALTER TABLE 时的 SQL CHECK 约束

当表已被创建时,如需在 “P_Id” 列创建 CHECK 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

❹ 在数据库(Sql)中要check 约束一个密码的长度表达式怎么写的

比如字段已经创建好,可以写如下语句进行长度限制
alter table xxx add constraint ck_len_pass check(length(password)=16)
这样就限定了密码为16位

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:645
制作脚本网站 发布:2025-10-20 08:17:34 浏览:936
python中的init方法 发布:2025-10-20 08:17:33 浏览:632
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:821
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:731
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1066
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:299
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:160
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:852
python股票数据获取 发布:2025-10-20 07:39:44 浏览:763