mysql执行sql脚本报错ERROR 1366 (HY000) 解决
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,mysql执行sql脚本是有两种方式:方式1:在控制台下,进入mysql的bin目录,mysql -u user -p"password" -P 3308 -D testdb < d:\test\te
千家信息网最后更新 2025年11月12日mysql执行sql脚本报错ERROR 1366 (HY000) 解决mysql执行sql脚本是有两种方式:
方式1:
在控制台下,进入mysql的bin目录,
mysql -u user -p"password" -P 3308 -D testdb < d:\test\test.sql
这里的test.sql是待执行的sql脚本,记得要写绝对路径。
方式2:
进入mysql的执行命令行下,用source命令执行:
Mysql>source d:\test\test.sql
或
Mysql>\. d:\test\test.sql
问题:
用方式1执行sql脚本时,报错如下:

网上查了这个错误,是字符集方面的。但是,当我尝试把test.sql里的sql语句分开一条一条在Navicat客户端上执行,或者用以下方式执行:
mysql -u user -p"password" -P 3308 -D testdb -e "update ** set col1="中文";"
发现全部都执行成功了。
这说明sql脚本本身自己是没有问题的。所以问题可能出在sql脚本的编码格式上。
经过检查发现,因为我的sql脚本是用txt编写,保存时默认编码格式是ansi。于是重新保存,如下:

选择编码格式为utf8。再次执行,成功。
注:如果待执行的sql脚本中含有中文字符,需要注意脚本的编码格式。
方式1:
在控制台下,进入mysql的bin目录,
mysql -u user -p"password" -P 3308 -D testdb < d:\test\test.sql
这里的test.sql是待执行的sql脚本,记得要写绝对路径。
方式2:
进入mysql的执行命令行下,用source命令执行:
Mysql>source d:\test\test.sql
或
Mysql>\. d:\test\test.sql
问题:
用方式1执行sql脚本时,报错如下:

网上查了这个错误,是字符集方面的。但是,当我尝试把test.sql里的sql语句分开一条一条在Navicat客户端上执行,或者用以下方式执行:
mysql -u user -p"password" -P 3308 -D testdb -e "update ** set col1="中文";"
发现全部都执行成功了。
这说明sql脚本本身自己是没有问题的。所以问题可能出在sql脚本的编码格式上。
经过检查发现,因为我的sql脚本是用txt编写,保存时默认编码格式是ansi。于是重新保存,如下:

选择编码格式为utf8。再次执行,成功。
注:如果待执行的sql脚本中含有中文字符,需要注意脚本的编码格式。
脚本
方式
格式
编码
问题
成功
命令
字符
中文
再次
字符集
客户
客户端
方面
用以
目录
语句
路径
错误
开一
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
班级网络安全知识竞赛总结
通信网络安全知识竞赛题库
有什么服务器可以查资料
小蛮腰网络安全
eset升级服务器
建立网络安全综合治理体系
苏州电话软件开发销售价格
数据库备份是在哪里备份
浦东新区技术软件开发费用
服务器低价租用
SQL数据库无法存报文
服务器默认密码怎么弄
mysql脚本创建数据库
服务器都会用的指令
racknerd服务器密码
企业软件开发定制公司
我的世界踢出服务器的指令
安全合规审查数据库
lol服务器多少ms
北京云搜网络技术有限公司
观护苗网络安全课之四
envi数据库形式
会议管理中心服务器
公安网络安全管理工作
使用endnote建立数据库
php数据库连接文档在哪里
创建数据库名称为考生的学号
关于页面数据库连接共享
软件开发模型适用于开发方法
office代理服务器