MySQL数据库-将文件导入到新数据库

时间:2018-10-26 15:23:47

标签: php mysql

当我要将数据库移动到新服务器时,出现此错误。

  

SQL:#1067-“ jailtime”的默认值无效

入狱时间:日期时间,当前时间戳。

任何想法我该如何解决?我记得我创建了一个SQL,如果修改了pJailed行,Jailtime行得到了Current_Timetsamp。

服务器5.5.49-Remi的MySQL Community Server(GPL) phpmyadmin:4.0.10.20

我可以在plus中提供任何详细信息来帮助您吗?谢谢。

稍后编辑:我阅读了多个有关相关的stackoverflow问题,找到了类似NO_ZERO_DATE的答案,但是当我尝试查找

show variables like 'sql_mode' ;

我没有sql模式"NO_ZERO_IN_DATE,NO_ZERO_DATE

甚至尝试过

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

我的触发器

CREATE TRIGGER `logsupdate` BEFORE UPDATE ON `users` FOR EACH ROW begin if new.pJailed <> old.pJailed then set new.jailtime = now(); end if; if new.pVIP <> old.pVIP then set new.viplog = now(); end if; if new.pAdminLevel <> old.pAdminLevel then set new.adminlog = now(); end if; if new.pPoints <> old.pPoints then set new.TM4 = now(); end if; end

2 个答案:

答案 0 :(得分:0)

解决此问题,如果有人有相同的错误。

代替Current_Timestamp,将其定义为NULL :)它将起作用。并使用NOW();功能仍然会发布时间戳。

答案 1 :(得分:0)

在create语句之前,只需像这样设置sql模式:

SET sql_mode = '';

在旧版本的MySQL(MariaDB)中,默认情况下允许使用零日期,但现在不允许。