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

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

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

工具:sqlserver 2008 R2

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

1、语句如下:

create table [user]

(id int,

pwd varchar(20) check (len(pwd) between 6 and 20),--代表密码长度最短为6,最长为20

name varchar(20))

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

密码短于6位(报错):

密码在6-20位之间(正常录入):

密码在20位以上(报错):

第二种情况(表已存在,但密码字段上没有约束):

1、用如下语句给表添加密码字段长度约束:

alter table [user] with nocheck add constraint CK_pwd check (len(pwd) between 6 and 20)

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

密码短于6位(报错):

密码在6-20位之间(正常录入):

密码在20位以上(报错):

不能超过1M。

经查询mysqlfindinse相关资料可知,长度限制最大不能超过1M。

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。

mysql所有语句的长度限制(包含insert语句),受系统选项max_allowed_packet控制,可以用如下指令查询,默认值1M或16M:

show VARIABLES WHERE Variable_name LIKE 'max_allowed_packet'

也可以在my.ini配置文件里修改:

[mysqld]

max_allowed_packet = 8M


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7286241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存