You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决MySQL ERROR 1064 (42000)语法错误?

MySQL导入SQL文件时出现1064语法错误的解决方法

我实在搞不懂为什么会出现这个错误,求帮忙解决。我在MySQL交互环境里执行了这条命令:

mysql> mysql -u root -p foodly < /Users/gregoireperney/Documents/1-dev/trainings_no_git/sql_foodly_db/partie_2/foodly.sql;

直接报了语法错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql -u root -p foodly < /Users/gregoireperney/Documents/1-dev/trainings_no_git' at line 1

我的MySQL客户端版本是14.14 Distrib 5.7.24(适配osx11.1 x86_64),服务器版本是8.3.0 Homebrew。已经查过官方手册,但没找到解决办法。怀疑问题和SQL文件开头内容有关,以下是文件开头:

-- MySQL dump 10.13  Distrib 8.0.21, for osx10.15 (x86_64)
--
-- Host: localhost    Database: foodly2
-- ------------------------------------------------------
-- Server version   8.0.21

问题原因及解决办法

  • 错误根源:你把系统终端的mysql客户端命令当成SQL语句,在MySQL交互shell里执行了。mysql -u root -p ...是终端命令,不是mysql>提示符下的SQL指令。
  • 正确操作:
    1. 先退出MySQL交互环境,输入exit;或者按Ctrl+D回到终端命令行。
    2. 在终端里执行导入命令:
      mysql -u root -p foodly < /Users/gregoireperney/Documents/1-dev/trainings_no_git/sql_foodly_db/partie_2/foodly.sql
      
    3. 输入root密码后回车,即可开始导入。
  • 版本兼容提示:SQL文件是用8.0.21导出的,你的服务器是8.3.0,一般不会有兼容问题。如果导入时仍报错,可以尝试加--force参数强制导入,或者检查SQL文件内是否有8.0.21特有的语法,调整后再导入。

内容的提问来源于stack exchange,提问作者Grégoire Perney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 08:05:06