MySQL5.7的sql脚本导入到MySQL5.5出错解决
今晚有人让我将他的数据库导入到我的mysql里,执行导入后发现有报错
想了下可能是版本的问题,询问了下,他的数据库是5.7而我的是5.5
他给我提议升级mysql版本,但是我就是不想换版本
那怎么在不更换数据库版本的情况下成功导入数据呢?
按照下面方式进行全文替换
datetime(3) ===>datetime
datetime(0) ===>datetime
TIMESTAMP(3) ===>TIMESTAMP
DEFAULT CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) ===>DEFAULT '0000-00-00 00:00:00'
DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP ===>DEFAULT '0000-00-00 00:00:00'
都替换后重新运行sql,导入成功了
注:
从MySQL 5.6.5开始,TIMESTAMP和DATETIME列可以自动初始化并更新为当前日期和时间(即CURRENT_TIMESTAMP)
在5.6.5之前,这仅适用于TIMESTAMP,并且每个表最多只有一个TIMESTAMP列
请参考MySql官网文档5.6版本,5.7版本
https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
相关文章
- 存储过程系列之存储过程sql查询存储过程的使用
- SQL Server实现 LeetCode 178 分数排名
- SSMS 2005 连接 SQL SERVER 2008问题
- SQL SERVER作业的Schedules浅析
- SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
- oracle 常用SQL
- java.sql.SQLException: The SQL statement must not be null or empty.这个错误
- [SQL] sql server中如何查看执行效率不高的语句
- SQL Server利用HashKey计算列解决宽字段查询的性能问题
- ER TO SQL语句
- ArcGIS 安装中,SQL的使用出现错误的解决
- Android SQLite用sql语句进行增删改查
- 成功解决SQL Server软件中出现的18470问题
- 成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码
- 已解决UnboundLocalError: local variable ‘sql‘ referenced before assignment
- 已解决(executemany方法报错)more placeholders in sql than params available
- Sql_Handle and Plan_Handle Explained
- SQL Sever 2008配置工具中过程调用失败解决方法
- 【编程实践】如何使用 SQL 函数 How To Use Functions in SQL
- SQL语句-创建索引
- MySQL的sql_mode解析与设置,sql文件导入报错解决
- 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别
- SQL Server未找到或无法訪问server问题解决
- SQL——Sql_Server中如何判断表中某字段、判断表、判断存储过程以及判断函数是否存在
- SQL FIRST() 函数
- SQL报错——Incorrect column specifier for column ‘id‘
- 【Apache Spark 】第 5 章Spark SQL 和 DataFrames:与外部数据源交互