Mysql 执行SQL脚本时出错,但单独运行时出错

Mysql 执行SQL脚本时出错,但单独运行时出错,mysql,sql,Mysql,Sql,我正在使用以下命令运行脚本文件: mysql -u root -p MyTable < questions.sql 当我尝试调试时,我发现发生这个错误是因为我有一些特殊的字符,比如乘法和除法数学符号。在做了一些谷歌搜索之后,我发现我的数据库的字符编码应该是UTF-8,我也改变了这一点,但仍然得到相同的错误 我有点惊讶,如果我尝试在SQL提示符中手动执行相同的查询,它就可以正常工作!!这意味着我的db编码是正确的 我无法找出问题所在并寻求建议。questions.sql文件必须是UTF-8

我正在使用以下命令运行脚本文件:

mysql -u root -p MyTable < questions.sql
当我尝试调试时,我发现发生这个错误是因为我有一些特殊的字符,比如乘法和除法数学符号。在做了一些谷歌搜索之后,我发现我的数据库的字符编码应该是UTF-8,我也改变了这一点,但仍然得到相同的错误

我有点惊讶,如果我尝试在SQL提示符中手动执行相同的查询,它就可以正常工作!!这意味着我的db编码是正确的


我无法找出问题所在并寻求建议。

questions.sql文件必须是UTF-8。用这种编码保存文件。

经过一点调查,我找到了上述问题的解决方案

在我的例子中,我从一个cvs文件生成sql,不知何故,在生成的sql文件中出现了一些特殊字符,这将停止mysql将数据加载到显示上述错误的数据库中

如上所述,SQLWorkbench能够正确解析SQL文件,并且能够将数据加载到DB中。因此,我首先将数据加载到数据库中,然后使用Workbench中的Server>data Export特性,将整个数据导出到一个sql文件中。我能够使用以下命令行成功执行工作台生成的sql文件:

mysql -u root -p MyTable < questions.sql
mysql-u root-p MyTable
首先登录数据库并执行以下命令。Try:mysql>source C:/path/to/questions.sqlI已经尝试过了,但是得到了相同的错误。通过将脚本加载到MYSQLWorkbench,从workbench执行脚本,然后最终使用Server>data export将数据导出到新的脚本文件,解决了我的问题。将您的解决方案作为答案发布,并提供详细步骤。这将有助于其他人在转换时设置以下错误:Varun Sharma:~varunsharma$iconv-f ascii-t utf8 questions.sql>questions\u utf8.sql iconv:questions.sql:8358:263:无法转换第8358行:插入到问题(问题、图像、主题、主题、等级、难度、选项a、选项b、选项c、选项c、选项e、答案)值(‘写一个表达式来表示数组,然后找到形状的数目’,‘2-math-oa-5-q3.png’,‘math’,‘矩形数组’,‘2,'1-easy’,‘2×4=6’,‘2×4=8’,‘3×4=12’,‘3×4=8’,‘不知道’,‘2×4=8’;这是具有乘法特征的同一条线。
mysql -u root -p MyTable < questions.sql