Mysql运行SQL文件 错误Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMES
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql运行SQL文件 错误Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMES相关的知识,希望对你有一定的参考价值。
问题描述
想从服务器上DOWN下数据库。操作:先把数据库转存为SQL文件,然后在本地利用navicate运行SQL文件,出现错误信息:
Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
解决思路
参考:
http://www.cnblogs.com/joeylee/p/3877578.html
原因:TIMESTAMP中,低版本中不支持一个表中有两个TIMESTAMP字段。
解决方案:
1、select version(); 查看服务器上用的哪个SQL版本。 同步到本地。
2、卸载mysql (原来已安装mysql 5.5 --->mysql 5.6)
I.利用安装与卸载应用程序卸载mysql。(需要关机重启)
II.cmd->services.msc 打开服务,看到MySQL服务名还在。
cmd->sc delete MySQL(要删除的服务名)
3、安装mysql
I.下载mysql 5.6 -64x.zip,解压后放到对应位置**。 下载位置:http://pan.baidu.com/s/1kVvYtIf
II.配置PATH环境变量
**/bin 配置到PATH
在**路径下找到my_default.ini或者新建一个my.ini
输入或更改
[mydqld]
basedir = **
datadir= **\\data
4、启动mysql
I.cmd->cd **\\bin ->mysqld --install
II.成功后继续输入 net start mysql
5、登录mysql
I.cmd->cd **\\bin->mysql -u root -p
II.首次登录没有密码 直接登录成功
III.修改root的密码
use mysql;
update user set password=password("new_pass") where user="root";
flush privileges;
exit;
6、想要修改已经存在root密码
I.my.ini中加入(如果没有,可以在my_default.ini中)
[mysqld]
#跳过密码验证
#skip-name-resolve
II.然后在cmd中直接输入mysql -uroot 就可以直接登录 执行上一步的第三项就可以了
7、登录成功后,再次执行同步后就不出现问题了.
以上是关于Mysql运行SQL文件 错误Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMES的主要内容,如果未能解决你的问题,请参考以下文章
Mysql - php上传数据 - 错误 - 1366 Incorrect String value
Navicat 导入数据时报Incorrect datetime value: '0000-00-00 00:00:00.000000' 错误
MYSQL插入emoji报错解决方法Incorrect string value
think PHP6 保存到数据库的时候出现:SQL错误(1366):Incorrect String Value
MySQL报错:Cause: java.sql.SQLException: Incorrect string value: 'xE6x9DxA8","...'