- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
自 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/
自 2014 年以来,我在外部站点上托管的 PHP/mySQL 后端一直运行良好。最近,它开始抛出“字段没有默认值”错误。 我检查了配置并找到了 STRICT_TRANS_TABLES,它在某些情况下
我有一个 Mariadb 10.2.26 服务器,禁用了“STRICT_TRANS_TABLES”模式。唯一启用的模式是“NO_ENGINE_SUBSTITUTION”。但即使这样,我还是收到“一般错
我正在使用Django 2.1.3、pymysql 0.9.2、mysql 5.7、python3.5 > mysql中的sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRA
似乎 MySQL 最近(5.6?)将默认 SQL 模式更改为更具限制性。新模式是“STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION”。我喜欢这种变化,但至少我维护的
我是一名优秀的程序员,十分优秀!