• sqlalchemy 使用pymysql连接mysql 1366错误


    一、错误情况 mysql 5.7.2

    使用ORM链接数据库时遇到到了这个错误,使用的是sqlalchemy(mysql+pymysql)可以正常插入数据,不管是在mysql客户端SQL语句,还是orm下,但是错误只有orm查询数据时给出。

    site-packagespymysqlcursors.py:166: Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 480") result = self._query(query)

    二、错误排查

    1、拍查是否配置出错

    查看数据库的编码格式:show variables like '%char%';

    数据库my.ini如下默认default-character-set=utf8 ,本身也不是插入中文出错。

    2、猜测MySQL驱动问题

    pip install mysql-connector-python
    本人亲测不建议加上参数--allow-external 直接pip安装

    由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。

    MySQL官方提供了mysql-connector-python驱动,但是安装的时候需要给pip命令加上参数--allow-external:

    pip install mysql-connector-python--allow-external mysql-connector-python

    如果上面的命令安装失败,可以试试另一个驱动:
    pip install mysql-connector

    三、解决方法:

    1、如上第一步命令行下安装模块:mysql-connector-python pip install mysql-connector-python 或官网下载: 到MySQL官网下载并安装mysql-connector-python:https://dev.mysql.com/downloads/connector/python/

    2、将连接引擎的:mysql+pymysql engine = create_engine("mysql+pymysql//user:password@host/{data_base}",encoding='utf-8') 修改为:mysql+mysqlconnector engine = create_engine("mysql+mysqlconnector//user:password@host/{data_base}",encoding='utf-8')

  • 相关阅读:
    rpmbuild SPEC语法
    rpm遇到的坑-与VMP冲突
    rpmbuild spec 打包jar变小了、设置禁止压缩二进制文件Disable Binary stripping in rpmbuild
    sed陷阱
    UITableViewController 滚动引起的cocos2d动画暂停问题的解决
    C/C++ 位域知识小结
    李洪强漫谈iOS开发[C语言-043]-判断较早日期
    李洪强iOS开发之添加手势
    李洪强iOS开发之- 实现简单的弹窗
    李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
  • 原文地址:https://www.cnblogs.com/01black-white/p/12886771.html
Copyright © 2020-2023  润新知