当前位置:首页 » 操作系统 » 数据库中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位

热点内容
存储过程参数空值 发布:2025-04-06 08:59:59 浏览:873
垃圾车压缩式垃圾车 发布:2025-04-06 08:55:00 浏览:205
如何给苹果iphone手机设置密码 发布:2025-04-06 08:49:17 浏览:810
安卓苹果王者荣耀数据转移在哪里 发布:2025-04-06 08:47:34 浏览:892
linux强制退出 发布:2025-04-06 08:47:33 浏览:664
python验证码切割 发布:2025-04-06 08:47:30 浏览:989
校园vlog脚本模板 发布:2025-04-06 08:45:59 浏览:463
无法访问别人的共享 发布:2025-04-06 08:41:31 浏览:401
我的世界服务器生存地址 发布:2025-04-06 08:20:25 浏览:724
des算法缺点 发布:2025-04-06 08:13:51 浏览:573