gpt4 book ai didi

mysql - 关闭 STRICT_TRANS_TABLES 对我来说安全吗?

转载 作者:可可西里 更新时间:2023-11-01 07:29:35 25 4
gpt4 key购买 nike

自 2014 年以来,我在外部站点上托管的 PHP/mySQL 后端一直运行良好。最近,它开始抛出“字段没有默认值”错误。

我检查了配置并找到了 STRICT_TRANS_TABLES,它在某些情况下为没有默认值的字段提供了这些错误。

我的问题是删除这个配置值对我来说是否安全。这是 mySQL 5.5.5-10.3.12-MariaDB。

或者,我可以为所有内容提供默认值,但我不知道这些解决方案中的哪一个更有可能导致现有代码库停止正常工作。

最佳答案

我鼓励在 MySQL 中使用严格模式,因为如果禁用严格模式,您可能会导致一些不良影响,例如:

  • 如果您将一个值插入到无法容纳的列中,该值将被自动截断。就像将一个长字符串插入到一个较短的 varchar 列中,或者将一个大整数插入到一个 INT 列中。这会导致您的数据库中可能存在虚假值。我更希望这些情况是错误的,以防止此类虚假值。

  • 非严格模式允许无意义的日期,例如 0000-00-00。日历上没有这样的日期。我宁愿不允许这个值。如果我需要表示值的缺失,我将使用 NULL。

这些情况会影响您的应用吗?我或 Stack Overflow 上的任何其他人都无法预测这一点。你需要自己测试一下。

关于mysql - 关闭 STRICT_TRANS_TABLES 对我来说安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836987/

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