前言
今日有个爬虫的需求,就在我把各个组件都测试完毕,将他们自信的组装到一起,结果,除了意外,这个意外就是显示sql语句有错误,可是,在我反复的在终端试验,却没有任何的错误,于是我开始了漫长的资料查询。
原因分析
pymysql在储存长文本,有时会出现转义字符,可能导致两个连续的数据会被挤到一起
解决办法
我研究了很多的解决办法,选出两种最为方便的
在连接时,将编码格式改为
utf8mb4
在需要转义的对象用
连接.escape(value)
方法转义sql = "insert into article(title,img,link,create_time,status) values(%s,%s,%s,%s,'1')" % (conn.escape(title),conn.escape(img),conn.escape(link),conn.escape(create_time),)
django多数据库的迁移
首先,我们需要在settings中链接上多个数据库,并且指定app

然后指定哪个模型使用哪个数据库
DATABASE_APPS_MAPPING = {
# 'app_name':'database_name',
'user': 'user',
}
如果不想每个应用同步到特定数据库,可以定义 database router ,它实施限制特定模型可用性的策略。
在迁移时,生成迁移文件,命令不变
python manage.py makemigrations
迁移时需要指定哪个app进行数据迁移
python manage.py migrate --database=user
- Post link: https://www.godhearing.cn/mysql-de-keng/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.