先说事情由来,由于数据库表id为自增,上线前想清空然后从1从新开始。
执行了 TRUNCATE TABLE 表名;结果:id确实是1零开始了。
但。。。。
[Err]1055登场!!!
我去。。查资料得出原因:在sql_mode值中包含了“ONLY_FULL_GROUP_BY”。
解决办法:
方法一:找到数据库配置文件my.ini中[mysqld]下sql_mode,删除其中“ONLY_FULL_GROUP_BY,”。但是我发现我的配置文件中没有sql_mode。想骂人,遇到同样结果的小伙伴,请移步到“方法二”。
方法二:
1.执行SELECT @@sql_mode语句,你会查到一串字符,这个就是你MySQL的sql_mode。
2.执行net stop mysql停止你的mysql服务
3.复制第一步查到的字符串,在你的数据库配置文件中添加sql_mode配置(注意:在[mysqld]后),把复制的字符串粘贴到“sql_mode=”后,将其中“ONLY_FULL_GROUP_BY,”删除,保存即可。
你以为爬坑结束了,并没有!!!!!!
保存后,启动MySQL服务发现启动不了,执行“mysql -uroot -p密码”报错如标题:[error]: Found option without preceding group in config file ....\my.ini at line:1
居然是因为我用VS Code打开配置文件,修改保存改变了编码方式(ANSII变为UTF-8)。
解决办法:找到配置文件my.ini,右键菜单中点击编辑,点击菜单中的另存为,在另存为窗口中把编码方式选为ANSII,保存替换。
问题解决,爬坑好难,连着爬。。。我吐了