吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2401|回复: 11
收起左侧

[已解决] 「Pymysql」我又来请教各位大佬了,插入数据时报语法错误

  [复制链接]
thepoy 发表于 2019-8-6 08:40
本帖最后由 thepoy 于 2019-8-6 15:15 编辑

我的测试代码如下

import pymysql

db = pymysql.connect('localhost', 'root', '000aaa', 'test')

cursor = db.cursor()

cursor.execute('DROP TABLE IF EXISTS ddbooks')

sql1 = 'CREATE TABLE IF NOT EXISTS ddbooks(\
id INT PRIMARY KEY AUTO_INCREMENT,\
main_classify VARCHAR(10) NOT NULL,\
secondary_classify VARCHAR(10) NOT NULL,\
classify VARCHAR(10) NOT NULL,\
book_title VARCHAR(160),\
author VARCHAR(20),\
now_price VARCHAR(7),\
pre_price VARCHAR(7),\
discount VARCHAR(6),\
publisher VARCHAR(20),\
intro TEXT);'

item = {'教育': \
{'外语':\
 {'英语综合教程':\
 {'现价': '15.10', \
'书名': '剑桥初级英语语法练习(第三版中文版)(剑桥英语在用丛书) [Essential Grammar in Use]英语学习者的圣经,全球销量逾千万,源自剑桥,口碑佳作。左手页讲解,右手页练习,学练结合,培训自学均适用.在语境中学习语言,在体验中学以致用', \
'作者': '(英)海伦.内勒(Helen Naylor),雷蒙德?墨菲(Ra', \
'简介': '《剑桥初级英语语法练习(第三版中文版)》编辑推荐: 来自全球*畅销的英语学习参考书 剑桥 英语在用 (English in Use)系列 习题生动有趣,内容涉及日常生活、娱乐、文化、侦查破案、采访等,做习题也快乐 习题语言口语和书面语兼顾,做习题的同时可提高口语和写作水平 答案详尽,随时自测学习效果 集权威和趣味于一体的语法练习册!', \
'折扣率': '8.89', \
'出版社': '外语教学与研究出版社', \
'原价': '17.00'}}}}

sql2 = 'INSERT INTO ddbooks VALUES(NULL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);'

gftype = list(item.keys())[0]
ftype = list(item[gftype].keys())[0]
kind = list(item[gftype][ftype].keys())[0]
info = item[gftype][ftype][kind]

cursor.execute(sql1)
cursor.execute(sql2 % (gftype, ftype, kind, info['书名'], info['作者'], info['现价'],info['原价'], info['折扣率'], info['出版社'], info['简介']))

db.close()

报错如下:

Traceback (most recent call last):
  File "test.py", line 25, in <module>
    cursor.execute(sql2 % (gftype, ftype, kind, info['书名'], info['作者'], info['现价'],info['原价'], info['折扣率'], info['出版社'], info['简介']))
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/cursors.py", line 170, in execute
    result = self._query(query)
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/cursors.py", line 328, in _query
    conn.query(q)
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/connections.py", line 517, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/connections.py", line 732, in _read_query_result
    result.read()
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/connections.py", line 1075, in read
    first_packet = self.connection._read_packet()
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/connections.py", line 684, in _read_packet
    packet.check_error()
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/home/thepoy/.local/lib/python3.5/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(剑桥英语在用丛书) [Essential Grammar in Use]英语学习者的圣经,' at line 1")

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ww6578 发表于 2019-8-6 09:06
老哥这个问题有点难,楼下帮忙解决一下
chinaqin 发表于 2019-8-6 09:12
插入的字段多了。你的表才8个字段,你插入了11个
mychi 发表于 2019-8-6 09:12
MySQL 给你报的是1064  就是语法错误  SQL 写的有问题
xian54966 发表于 2019-8-6 09:16
没有价格相关字段吧?插入数据多了好像
zdnyp 发表于 2019-8-6 09:30
near '(剑桥英语在用丛书) [Essential Grammar in Use]英语学习者的圣经,' at line 1")

插入的数据有问题,有可能是括号和中括号的原因
 楼主| thepoy 发表于 2019-8-6 09:37
本帖最后由 thepoy 于 2019-8-6 09:40 编辑
chinaqin 发表于 2019-8-6 09:12
插入的字段多了。你的表才8个字段,你插入了11个

字段代码没有全都换行,表的确是11个字段
深度截图_选择区域_20190806093712.png
 楼主| thepoy 发表于 2019-8-6 09:42
mychi 发表于 2019-8-6 09:12
MySQL 给你报的是1064  就是语法错误  SQL 写的有问题

如果把字典里的每个内容单独提取出来,用上面的INSERT可以正常插入,放到字典里就有1064
 楼主| thepoy 发表于 2019-8-6 09:43
xian54966 发表于 2019-8-6 09:16
没有价格相关字段吧?插入数据多了好像

有,之前没有换行,现在改了,字段全都换了行了
AAA00544 发表于 2019-8-6 09:48
你把sql语句输出看看就知道了  中文要加引号

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
thepoy + 1 + 1 确实是缺少引导号导致的,感谢!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表