热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Django迁移错误_mysql_exceptions.ProgrammingError:(1064,“您的SQL语法有错误

如何解决《Django迁移错误_mysql_exceptions.ProgrammingError:(1064,“您的SQL语法有错误》经验,为你挑选了1个好方法。

TL; DR:python版本冲突,我认为我下载并编译的python(3.6)无法使用此包(libmysqlclient-dev)进行向mysql的迁移。只有系统的默认python(3.4)可以。

我的ubuntu服务器带有python 3.4,我所有的django工作和其他工作都依赖于3.6。我了解到升级系统python是一个坏主意,因此我编译了python 3.6(带有altinstall)。

当我运行python3.6 manage.py migrate它给我这个mysql错误:

_mysql_exceptions.ProgrammingError:(1064,“您的SQL语法有错误;请检查与MySQL服务器版本相对应的手册,以在第1行的'(6)NOT NULL)'附近使用正确的语法”)

我尝试虚拟环境和正常的Python 3.6,既给了同样的错误,而我确信,libmysqlclient-devmysqlclient安装。

就像这个答案所暗示的那样,问题出在哪里,libmysqlclient-dev因为它apt-get不是通过安装的,pip所以我猜它只与默认的python(系统随附的3.4)兼容,或者我编译的python 3.6不被允许使用,因为当我制作一个带有python3.4(系统默认值)的django虚拟项目,python3.6 manage.py migrate并以相同的用户尝试在相同的mysql数据库上运行,成功了!

再次:我的问题是手动编译的python 3.6无法使用,只有3.4可以libmysqlclient-dev安装apt-get

参考:迁移时的Django MySQL错误

更新 我想出了一个解决方法,但是效率不高。我将Django降级为2.0.9,并且(python manage.py migrate)正常运行。但是使用其他软件包可能会再次出现此问题。



1> 小智..:

Django 2.1。*需要MySQL 5.6或更高版本。它通过映射DateTimeField到打破了兼容性datetime(6)

您可以修补Django MySQL数据类型映射器。将此放在您的顶部settings.py

from django.db.backends.mysql.base import DatabaseWrapper
DatabaseWrapper.data_types['DateTimeField'] = 'datetime' # fix for MySQL 5.5


推荐阅读
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
author-avatar
a104989195
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有