gpt4 book ai didi

SQL 约束首字母大写

转载 作者:行者123 更新时间:2023-12-02 21:22:12 25 4
gpt4 key购买 nike

ALTER TABLE info
ADD CONSTRAINT uppercase
CHECK (password = UPPER(substr(password, 1 ,1 )));

我很好奇为什么我的约束不起作用?第一次尝试编写约束,所以请耐心等待。

最佳答案

如果您使用 MySQL,则它不起作用,因为未强制执行约束。在其他一些数据库中,= 的默认排序规则大小写相同。而且,无论默认排序规则是什么,它都可能会针对您的数据库进行更改。

您可以轻松做到这一点的一种方法:

ALTER TABLE info
ADD CONSTRAINT uppercase CHECK (ASCII(LEFT(password, 1)) BETWEEN ASCII('A') and ASCII('Z'));

也就是说,在大多数情况下,密码不应该以未加密的方式存储在数据库中。这是非常危险的。您可以在数据库层对密码进行加密。我认为在客户端层进行加密会更好,因此自由文本密码甚至不会出现在网络上。

关于SQL 约束首字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com