MySQL 的 Enigma:为什么文本列违反默认值
尽管在 MySQL 中允许 TEXT 列中使用默认值有明显的理由,但用户会遇到神秘的错误。这个难题让开发人员感到困惑和沮丧,让他们质疑这一限制背后的逻辑。
不一致:Linux 与 Windows
奇怪的是,这个错误只出现在 Windows 中MySQL 版本。在 Linux 和其他平台上,该限制仅表现为警告。这种不一致已成为 MySQL Bugtracker 中错误报告 (#19498) 的主题,并承认需要解决方案。
错误还是被忽视的不兼容性?
MySQL 文档对于此限制背后的基本原理保持沉默。一些人认为这是有意的设计选择,而另一些人则认为这是一个破坏平台兼容性并破坏开发工作的缺陷。
禁用严格模式作为解决方法
要绕过 Windows MySQL 中的此限制,用户可以禁用严格模式。这涉及编辑“my.ini”配置文件中的“sql-mode”参数并将其值设置为“MYSQL40”。或者,具有 root 访问权限的用户可以执行 MySQL 查询“SET @@global.sql_mode='MYSQL40';”达到相同的效果。
持续影响
尽管此限制对开发人员产生了影响,但它仍未得到解决,并且仍然是令人沮丧和不兼容的根源。因此,开发人员必须保持警惕并调整他们的编码实践,以适应不同 MySQL 环境中的这些限制。
以上是为什么 MySQL TEXT 列在 Windows 上不能有默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!