解决mysql错误 General error: 1364

从低版本的mysql数据库转移到高版本的mysql数据库,因为配置上的细微差别,在低版本可行在高版本就报错。遇到的1364错误就是这个情况。[10501]SQLSTATE[HY000]: General error: 1364 Field 'xxx' doesn't have a default value

东西/原料

  • CentOS 8
  • mysql 8

方式/步调

  1. 1

    起首登岸mysql数据库,号令:mysql -u root -p  输入暗码的时辰本身输入准确的即可,界面不会有任何变更。

  2. 2

    查看sql_mode,号令:select version(),@@sql_mode;    如下图所示,本家儿如果STRICT_TRANS_TABLES 值导致了上面的错误,只要把这个值去失落错误就解决了。

  3. 3

    解决第一步,设置mysql数据库的全局sql_model,号令:set global sql_model='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

  4. 4

    解决第二步,设置mysql数据库session,号令:set session sql_mode='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

  5. 5

    再次查看sql_mode,号令:select version(),@@sql_mode;   如图所示,去失落了STRICT_TRANS_TABLES这个值,再次运行代码就不会报错了。

注重事项

  • 进修要持之以恒
  • 触类旁通
  • 发表于 2020-03-19 19:00
  • 阅读 ( 124 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论