问题描述
新建数据表时出现报错
1
|
ERROR 1101 (42000): BLOB, TEXT, GEOMETRY or JSON column 'description' can't have a default value
|
这是由于mysql处于strict mode, 不允许text或blod字段有缺省值。因此,我们需要修改mysql为非严格模式。
1
2
3
4
|
>show variables like 'sql_mode';
| Variable_name | Value |
sql_mode
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
|
解决方案
一般建议修改mysql的配置文件my.ini
,将其中sql-mode
这一行注释掉即可。
但在LinuxMint中,mysql的默认配置文件中没找到这一行。因此,手动在mysql中修改sql_mode
1
|
>set session sql_mode='ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO';
|
参考来源
https://yq.aliyun.com/sqlarticle/35671
https://segmentfault.com/a/1190000004512672