mysql check 无效

mysql check 无效,第1张

这是因为mysql是不支持check的,虽然语法上不会报错是,分析建表语句的时候会被忽略.以下是从手册中摘出来的原文.

=============

Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY (...) REFERENCES ... (...)。请参见15.2.6.4节,“FOREIGN KEY约束”。对于其它存储引擎,这些子句会被分析,但是会被忽略。对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。请参见13.1.5节,“CREATE TABLE语法”。接受这些子句但又忽略子句的原因是为了提高兼容性,以便更容易地从其它SQL服务器中导入代码,并运行应用程序,创建带参考数据的表。请参见1.8.5节,“MySQL与标准SQL的差别”。

==============

注意:CHECK子句会被分析,但是会被忽略。

The CHECK clause is parsed but ignored by all storage engines. See Section 1.8.2.3, “Foreign Key Differences”.

即CHECK语句会被忽略,也意味着MySQL并没有实现这个功能。在bug report中也提到该问题。

很容易认为这儿是一个错误,其实可以直接忽略,重新输入密码

[root@localhost ~]# passwd

更改用户 root 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]#

方案二:对密码规则进行设置

这一部分参考"Linux中国"的文章:如何设置 Linux 系统的密码策略

在基于 DEB 的系统中设置密码长度

默认情况下,所有的 Linux *** 作系统要求用户密码长度最少 6 个字符。我强烈建议不要低于这个限制。并且不要使用你的真实名称、父母、配偶、孩子的名字,或者你的生日作为密码。即便是一个黑客新手,也可以很快地破解这类密码。一个好的密码必须是至少 6 个字符,并且包含数字、大写字母和特殊符号。

通常地,在基于 DEB 的 *** 作系统中,密码和身份认证相关的配置文件被存储在 /etc/pam.d/ 目录中。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存