数据库中约束一个密码的长度分两种情况,一种是表还未建,在建立过程中约束;另一种是表已存在,在此基础上约束。
工具: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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)