背景:
在migration的时候,有一个库建表失败,查询log显示:”BLOB, TEXT, GEOMETRY or JSON column ‘description’ can’t have a default value”,
解释:
报错原因:blob,text等字段类型不能设置default ‘xxxx’默认值
好奇不同的实例,同样的sql语句,有的实例可以执行,有的不能.开始以为是5.7的特性,后来dba清空了sql_mode设置就好了.
总结:
上述报错的原因在于:
- MYSQL5.x是不允许BLOB/TEXT类型的字段拥有默认值的
- 由于mysql是在’strict mode’严格模式下工作的,如果改为非严格模式,上面的语句就可以执行成功
所以解决方案:
- mysql.配置文件注释sql-mode
- 重启mysql服务
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 最后修改时间:2021-11-20 18:22:20
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




