首页 >数据库 >mysql教程 >为什么 MySQL TEXT 列不能有默认值?

为什么 MySQL TEXT 列不能有默认值?

Linda Hamilton
Linda Hamilton原创
2024-11-29 15:36:14154浏览

Why Can't MySQL TEXT Columns Have Default Values?

为什么 MySQL 文本列不能有默认值

问题:为什么 MySQL 中的文本列不允许默认值

答案:

虽然 MySQL 文档没有提供明确的解释,但此限制归因于 Windows 和其他 MySQL 版本之间的不一致。

Windows 行为:

在 Windows 上,MySQL 版本 5 引发了尝试创建具有默认值的 TEXT 列时出错。

Linux 和其他版本:

在 Linux 和其他操作系统上,MySQL 仅发出警告。然而,这种行为是不一致的,并且在不同平台之间移动数据库脚本时可能会导致问题。

错误报告:

这种不一致已在MySQL 错误跟踪器。由于潜在的兼容性问题,该问题已得到确认,但尚未解决。

解决方法:

要禁用阻止 Windows 上文本列中使用默认值的严格模式,请执行以下操作这些步骤:

  1. 编辑“/my.ini”文件并找到“sql-mode”
  2. 将当前值替换为“sql_mode='MYSQL40'”。
  3. 重新启动 MySQL 服务(mysql5)。

或者,您可以执行以下 SQL 查询(假设 root/admin 访问权限):

mysql_query("SET @@global.sql_mode='MYSQL40'");

这将允许您创建文本Windows MySQL 上的列具有默认值,同时保持与其他版本的兼容性。

以上是为什么 MySQL TEXT 列不能有默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn