Python 怎样插入字典到数据库?

2017-04-19 23:40:15 +08:00
 771456556

s={'项目特色': '项目特色海景房 ', '建筑面积': '建筑面积 130000 平方米' }
例如我有以上的字典,并且在数据库中都建立了相对应的列名 然后


import pymysql
for key in s.keys():
cursor.execute("insert into 澳门 (%s) values (%s)",(key,s[key]))

然后提示
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''建筑面积') values ('建筑面积 130000 平方米')' at line 1")

6504 次点击
所在节点    Python
14 条回复
zsz
2017-04-19 23:54:05 +08:00
for 循环插入了 2 条数据,一条数据写入的字段是 “项目特色”,一条数据是 “建筑面积”,你确认么?
est
2017-04-19 23:57:05 +08:00
insert into table set value="字典"
dtfm
2017-04-20 00:43:12 +08:00
insert into 后面跟的是表名啊
mhycy
2017-04-20 00:55:16 +08:00
python 连接 MySQL 没有真正的参数化查询
zhaojjxvi
2017-04-20 01:23:17 +08:00
表名编码的问题?
反正我一般不会建中文名的表名
zhaojjxvi
2017-04-20 01:31:02 +08:00
@est set 前面是 update 吧
casparchen
2017-04-20 04:15:41 +08:00
执行了两条 insert 语句,每条少一个字段
suueyoung
2017-04-20 07:10:41 +08:00
所以我用 orm
771456556
2017-04-20 08:00:40 +08:00
谢谢大家回复…我发现是我蠢了…现在已经改好了,中文的表名可以用
yanzixuan
2017-04-20 08:50:23 +08:00
@771456556 为啥用 sqlalchemy 这样的 ORM 。建立好 model 之后,直接 xx_model(**temp_dict), 然后 add, commint 就行
Hozzz
2017-04-20 09:07:26 +08:00
中文表名...
shihira
2017-04-20 11:55:22 +08:00
如果是当成纯数据最好存进个 blob 里,非要存进 text 里的话先 base64 编码。最好不要拼接字符串,仔细转义,小心注入。
woostundy
2017-04-20 12:23:19 +08:00
这种东西存 mongo 里比较好,或者弄成 json 再存。
cnbgfm
2017-04-24 10:50:28 +08:00
是怎么解决的,能告诉下方法吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX