Python: 写ORM插入MySql数据库报错:Incorrect string value: '

Python: 写ORM插入MySql数据库报错:Incorrect string value: ',第1张

我用Python写ORM,插入一条数据进MySql的时候报了:1366 Incorrect string value: '

这条数据是有中文的,所以很明显是编码问题!

我插入的数据格式:

以下是我的解决办法!

看我的文章,中有一篇是修改MySql的myini配置文件,修改MySql的字符编码格式修改成utf8格式的编码!

有可能你这步改完就可以了! 也有可能这步 *** 作完还是报错!那就看第二步。

第一步 *** 作完了,但是添加数据的时候还是报错,原因是因为第一步还没 *** 作完,你就已经建了一张表,我的表名是app_book。所以这张app_book的字符编码还是按我没修改字符编码之前的编码格式,所以这个时候我需要将这张表的编码格式转换一下,具体 *** 作如下!

比如:你可以先查看这张app_book表中的每个字段的编码格式

改变表的编码,为 utf8mb4 或者 utf8

OK! 完成以上 *** 作,再次执行ORM语句:

这次就没报错了,添加成功!

你不能直接存储一个类的实例啊,mongodb用bson存储数据,bson是json的binary形式,所以你只能存储javascript的基本类型、Object和Array这些东西。像beautiful soup里面的类的实例,你可以存储关键的数据,到你再需要用的时候,取出数据再构造一个新实例,而不是把这个实例存入数据库

python3下用flask-sqlalchemy对mysql数据库 *** 作案例:

from flask import Flask

from flaskextsqlalchemy import SQLAlchemy

app = Flask(__name__)

appconfig['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'

db = SQLAlchemy(app)

class User(dbModel):

id = dbColumn(dbInteger, primary_key=True)

username = dbColumn(dbString(80), unique=True)

email = dbColumn(dbString(120), unique=True)

def __init__(self, username, email):

selfusername = username

selfemail = email

def __repr__(self):

return '<User %r>' % selfusername

admin = User('admin', 'admin@examplecom')

dbcreate_all() # In case user table doesn't exists already Else remove it

dbsessionadd(admin)

dbsessioncommit() # This is needed to write the changes to database

Userqueryall()

Userqueryfilter_by(username='admin')first()

以上就是关于Python: 写ORM插入MySql数据库报错:Incorrect string value: '全部的内容,包括:Python: 写ORM插入MySql数据库报错:Incorrect string value: '、python写了一个爬虫,内容储存到mongodb数据库,遇到一个错误不知怎么改,求大神帮忙、python flask 在查询数据库数据时遇到错误unable to get repr for <class 'app.model.xx.xx’>怎么办呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9410907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存