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