flask_sqlalchemy操作mysql报错

新手上路,请多包涵

使用flask_alchemy操作mysql数据库时候有报错,报错如下:C:UserslyonPCAppDataLocalProgramsPythonPython35libsite-packagessqlalchemyenginedefault.py:450: Warning: Incorrect string value: 'xD6xD0xB9xFAxB1xEA...' for column 'VARIABLE_VALUE' at row 478
cursor.execute(statement, parameters)

环境为WINDOWS10 X64位系统,sublime3 python3.5.1。

虽然有报错,但是数据已经添加到数据库中,可以在数据库中查看的到。请问此报错是指哪个字符串不正确?


代码如下:

#-*- coding:utf-8 -*-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:lyoncc@localhost:3306/test'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, id,username, email):
        self.id = id
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username
db.create_all()
use = User(id= 4,username='3lyon31',email='hehe1@qq.com')
db.session.add(use)
db.session.commit()
阅读 5.7k
3 个回答

你是反复运行出错还是表空的时候插入出错
我看你设置了值唯一 是不是因为反复插入造成的错误呢?

应该是编码问题。你存入数据的时候存入unicode编码试试
use = User(id= 4,username=u'3lyon31',email=u'hehe1@qq.com')

新手上路,请多包涵

mysql版本问题,只是Warning,不影响。 换成5.6不会有提示。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题