大佬教程收集整理的这篇文章主要介绍了(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_packet。最后一个我将它设置为 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,请注明来意。