数据库出现错误问题集合

/ 0评 / 0

1、MySQL 数据库升级直接拷贝数据库出现 1146: Table doesn't exist 解决方法:
把原来mysql安装目录data里的 ibdata1,ib_logfile0,ib_logfile1 也拷贝过去

2、服务没有报告任何错误
检查my.ini是否有错误项,可以在 计算机管理-系统工具-事件查看器-Windows日志

3、datetime类型设置0000-00-00默认值报错问题
解决办法

windows系统下:

执行:SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
也可以修改my.ini配置文件
sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Linux系统下:

修改my.cnf文件,在[mysqld]中添加
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改完成一定重启MySQL

Mac系统下:

在MacOS中默认是没有my.cnf 文件,如果需要对MySql 进行定制,拷贝/usr/local/mysql/support-files/目录
中任意一个.cnf 文件。笔者拷贝的是my-default.cnf,将它放到其他目录,按照上面修改完毕之后,更名为
my.cnf,然后拷贝到/etc目录再重启下mysql就大功告成了。

4、修改列为not null报错Invalid use of NULL value
先update已存在数据所修改列的默认值,例如-1。然后修改该列的not null属性,保存成功。

Leave a Reply

Your email address will not be published. Required fields are marked *