为什么 MySQL 文本列不能有默认值
问题:为什么 MySQL 中的文本列不允许默认值
答案:
虽然 MySQL 文档没有提供明确的解释,但此限制归因于 Windows 和其他 MySQL 版本之间的不一致。
Windows 行为:
在 Windows 上,MySQL 版本 5 引发了尝试创建具有默认值的 TEXT 列时出错。
Linux 和其他版本:
在 Linux 和其他操作系统上,MySQL 仅发出警告。然而,这种行为是不一致的,并且在不同平台之间移动数据库脚本时可能会导致问题。
错误报告:
这种不一致已在MySQL 错误跟踪器。由于潜在的兼容性问题,该问题已得到确认,但尚未解决。
解决方法:
要禁用阻止 Windows 上文本列中使用默认值的严格模式,请执行以下操作这些步骤:
或者,您可以执行以下 SQL 查询(假设 root/admin 访问权限):
mysql_query("SET @@global.sql_mode='MYSQL40'");
这将允许您创建文本Windows MySQL 上的列具有默认值,同时保持与其他版本的兼容性。
以上是为什么 MySQL TEXT 列不能有默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!