gpt4 book ai didi

mysql - 维护 MYSQL 中输入的约束

转载 作者:行者123 更新时间:2023-11-29 11:31:16 27 4
gpt4 key购买 nike

我有一个输入列表,其中每个输入都可以有限制,例如它应该是最多 15 位数字的数字,或最多 20 个字符的字母数字。

我不确定如何将其存储在数据库中,或者我应该在代码中对每个输入的约束进行硬编码,这对我来说不合适。

最佳答案

数据库上的约束与验证不同。我认为您确实希望验证应用程序的输入。例如,您提到一个字段应该是最多 15 位数字的数字,虽然您可以创建一个触发器来验证这些内容,但这并不实用,要在 mysql 中存储 15 位数字(没有小数),您需要BIGINT 允许最多 9223372036854775807 的数字(超过 15 位)。没有简单的方法可以为此类事情设置架构。

其他情况,例如最多 20 个字符的字母数字,虽然可以使用 VARCHAR(20) 来完成,但依靠数据库来实现这一点仍然不切实际。

最好的办法是在 UI 级别验证您的输入,也许作为附加的安全步骤,检查您的数据库模型或在任何位置进行插入/更新。

说明为什么要对数据库模式进行约束并对代码进行特定验证的一个很好的例子是,当您的应用程序业务规则发生变化时,您需要灵活地输入,比如说最终您需要考虑到特定的场景如果代码可以是 10 或 15 位数字,您仍然希望允许数据库存储两种长度的数字,但您将在应用程序验证时验证任一情况。

关于mysql - 维护 MYSQL 中输入的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382309/

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