python解决SQLAlchemy+MySQL插入数据时报警告Warning(1366Incorrect stringvalue\\xD6\\forcolumn

1.工具环境

Pycharm2018.3
python3.7
Anaconda3.7
mysql5.7
sqlalchemy1.2.15

2.问题描述

在插入数据的时候抛出以下异常:
Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'VARIABLE_VALUE' at row 484")
result = self._query(query)

3.相关代码

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    id = Column(Integer, primary_key=True)
    name = Column(String(255))
    sex = Column(String(8))

if __name__ == "__main__":
engine = create_engine("mysql+pymysql://root:password@localhost/my_db")
Session = sessionmaker(bind=engine)
user= User(name="测试", sex="男")
session = Session()
session.add(user)
session.commit()
session.close()
print("插入成功")
执行后抛出警告

在这里插入图片描述

驱动暂时使用的是pymysql,问题就在这里,各种网上搜索解决方案,基本上都是说字符集的不统一导致的,解决方法都是修改数据库和pycharm字符集,保持统一,但都没有效果,依然抛出异常

4.解决方法

1.安装mysql-connector-python驱动
  conda install mysql-connector-python
2.修改代码
engine = create_engine("mysql+pymysql://root:password@localhost/my_db")
改为:
engine = create_engine("mysql+mysqlconnector://root:password@localhost/my_db")
执行后插入成功,一切正常

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值