python鏈接mysql問題(包含警告1366, "Incorrect string value:問題)

####問題#### 關於mysql很少講,我是用的是mysql5.7版本,使用數據庫管理工具navicat for mysql,python使用python3.7版本,在使用python鏈接mysql時出現警告Warning: (1366, "Incorrect string value: '\xD6\xD0\如圖: 個人鏈接代碼是 engine = create_engine("mysql+pymysql://root:password@127.0.0.1:3306/mydata?charset=utf8")#操做數據庫 ####如下是解決方法:#### 在使用python鏈接mysql時須要先安裝mysql-python模塊,而後安裝mysql-connector-python驅動(在anaconda中的安裝命令是conda install mysql-connector-python),也能夠在pycharm中引用import mysql選擇mysql-connector-python自動安裝(若安裝不成功仍是使用命令安裝),以後修改鏈接代碼爲: engine= create_engine('mysql+mysqlconnector://root:password@127.0.0.1:3306/mydata?charset=utf8') 就不會出現警告了,下面貼上測試代碼:python

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

#建立數據庫
engine= create_engine('mysql+mysqlconnector://root:password@127.0.0.1:3306/mydata?charset=utf8')
Session= sessionmaker(bind=engine)
#聲明一個基類
Base = declarative_base()

class Ltabel(Base):
    #表名
    __tablename__ = 'rp'
    #id
    id=Column(Integer,primary_key=True,autoincrement=True)
    #崗位id
    positionId=Column(Integer,nullable=False)
    #崗位名稱
    positionName=Column(String(length=20),nullable=False)
    #list
    compylist=Column(String(length=20),nullable=True)

if __name__ == "__main__":
    #建立數據表
     Ltabel.metadata.create_all(engine)
相關文章
相關標籤/搜索