mysql - 错误 1064,“您的 SQL 语法有错误” Python Django
问题描述
我在我的 Django 网站发布设置中收到多个 SQL 错误。我相信这是一个版本问题,但无法指出。该站点是使用 mysqlclient 创建的,但我已将其移至 mysqlconnector。
完整示例错误消息是:(1064,“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的 'OPTION max_matches = 1000' 附近使用的正确语法”)
(1064,“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的“组、面额、位置、隶属关系、released_by、隶属关系、文件类型”附近使用的正确语法”)
MySQL 版本:8.0(仅用于 sphinx) 使用 Postgres 的数据库 使用 mysqlconnector init .py(主要用于站点)导入 pymysql,使用 install_as_MySQLdb()
我使用 python manage.py inspectdb>models.py 自动创建了 models.py,但不确定这是否有任何帮助(该站点提供的模型文件仅由应用程序控制)。
Django 是 2.0.13,python 是 3.9,运行 6
解决方案
OPTION max_matches = 1000
据我所知,这是不被 MySQL 或 PostgreSQL 支持的 Sphinx Search 语法。Sphinx Search 支持 MySQL 协议,因此您可以使用 MySQL 客户端连接到它。但是 Sphinx Search 支持一些 MySQL 不支持的查询语法。如果您尝试对实际的 MySQL 实例运行 Sphinx Search 查询,MySQL 将无法识别它。我认为这就是您的第一个错误中发生的情况。
第二个错误只是您group
在 SQL 查询中使用保留关键字作为列名。见https://dev.mysql.com/doc/refman/8.0/en/keywords.html
推荐阅读
- amazon-web-services - 如何从 terraform 重新开始?
- python - Python 3.7.1 将所有文件从单一来源复制到从 .xlsx 创建的文件夹列表中
- python - 在scipy中对两个稀疏矩阵进行张量积后如何消除零点?
- python - 如何根据两列的差异向数据框添加行
- javascript - 有没有办法用一个重复的元素替换单个数组元素?
- r - 创建循环以从多个 URL 中抓取 Web 数据时,R 中出现“externalptr”错误
- c - c存储变量中的高级内存管理
- python - 是或否结束循环不显示
- r - 我真的需要 X11 for R 在 Mac 上吗?
- python - 如何使用 scipy 获得非平滑的 2D 样条插值