程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了(1231) 变量 'time_zone' 不能设置为 'NULL'大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决(1231) 变量 'time_zone' 不能设置为 'NULL'?

开发过程中遇到(1231) 变量 'time_zone' 不能设置为 'NULL'的问题如何解决?下面主要结合日常开发的经验,给出你关于(1231) 变量 'time_zone' 不能设置为 'NULL'的解决方法建议,希望对你解决(1231) 变量 'time_zone' 不能设置为 'NULL'有所启发或帮助;

我从我的 linux 机器转储了一个数据库并将其导入到我的本地主机中,但是在导入后,当我尝试从站点或 phpR_550_11845@yadmin 执行查询时,我收到此错误:

(1231) Variable 'time_zone' can't be set to the value of 'NulL'

我读了很多书,但没有找到任何对我有用的解决方案。 我尝试像

一样导入数据库
sourde dump.sql

我试

@H_799_5@mysqL -u root -p database < dump.sql

我尝试大量增加 max_allowed_pa​​cket。最后一个我将它设置为 102410241024 我试

    /*!40101 SET @olD_CHaraCTER_SET_CLIENT=@@CHaraCTER_SET_CLIENT */;
/*!40101 SET @olD_CHaraCTER_SET_RESulTS=@@CHaraCTER_SET_RESulTS */;
/*!40101 SET @olD_ColLATION_CONNECTION=@@ColLATION_CONNECTION */;
/*!40101 SET nameS utf8 */;
/*!40103 SET @olD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @olD_UNIQUE_checKS=@@UNIQUE_checKS,UNIQUE_checKS=0 */;
/*!40014 SET @olD_FOREIGN_KEY_checKS=@@FOREIGN_KEY_checKS,FOREIGN_KEY_checKS=0 */;
/*!40101 SET @olD_sql_mode=@@sql_mode,sql_mode='NO_auto_VALUE_ON_ZERO' */;
/*!40111 SET @olD_sql_NOTES=@@sql_NOTES,sql_NOTES=0 */;

但仍然没有任何效果..还有其他我可以尝试的解决方案吗?我也不明白到底是什么问题,为什么会出现这个错误?

在开始 sql 转储时,我有以下代码:

    /*!40101 SET @olD_CHaraCTER_SET_CLIENT=@@CHaraCTER_SET_CLIENT */;
/*!40101 SET @olD_CHaraCTER_SET_RESulTS=@@CHaraCTER_SET_RESulTS */;
/*!40101 SET @olD_ColLATION_CONNECTION=@@ColLATION_CONNECTION */;
/*!40101 SET nameS utf8 */;
/*!40103 SET @olD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @olD_UNIQUE_checKS=@@UNIQUE_checKS,sql_NOTES=0 */;

在我的文件末尾

/*!40103 SET TIME_ZONE=@olD_TIME_ZONE */;

/*!40101 SET sql_mode=@olD_sql_mode */;
/*!40014 SET FOREIGN_KEY_checKS=@olD_FOREIGN_KEY_checKS */;
/*!40014 SET UNIQUE_checKS=@olD_UNIQUE_checKS */;
/*!40101 SET CHaraCTER_SET_CLIENT=@olD_CHaraCTER_SET_CLIENT */;
/*!40101 SET CHaraCTER_SET_RESulTS=@olD_CHaraCTER_SET_RESulTS */;
/*!40101 SET ColLATION_CONNECTION=@olD_ColLATION_CONNECTION */;
/*!40111 SET sql_NOTES=@olD_sql_NOTES */;

在用户表中,我有一个触发器正在设置这个变量,代码开始如下:

DROP trigGER IF EXISTS `user_rank_upd`;
DEliMITER //
CREATE trigGER `user_rank_upd` AFTER updatE ON `user`
 FOR EACH ROW BEGIN

                    DECLARE c_offset TEXT;
                    SET c_offset = timestAMPDIFF(HOUR,UTC_timestAMP(),CONVERT_TZ(UTC_timestAMP(),'UTC','Europe/Sofia'));
                    SET time_zone = CONCAT(IF(c_offset > 0,'+','-'),TIME_FORMAT(MAKETIME(ABS(c_offset),0),'%H:%s'));....

解决方法

当插入到您的数据库时,变量 time_zone 包含单词 NULL,这意味着它是空的 数据库正在等待它的输入。

发布您的创建表代码,我们可以看看。代码如下所示。

create table `BAnned` (
  `Block` int(11) NOT NULL,`BlockedID` varchar(100) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

大佬总结

以上是大佬教程为你收集整理的(1231) 变量 'time_zone' 不能设置为 'NULL'全部内容,希望文章能够帮你解决(1231) 变量 'time_zone' 不能设置为 'NULL'所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:变量