【发布时间】:2019-05-23 22:33:18
【问题描述】:
我正在尝试将一些数据插入到 mysql 的表中。但是我的sql语法有问题,就是找不到,网上也找不到。
也尝试使用原始字符串插入,得到相同的错误消息。
def save_room_info(data):
conn = pymysql.connect(...)//this goes right
try:
with conn.cursor() as cursor:
table = 'room'
keys = ', '.join(data.keys())
values = ', '.join(['%s'] * len(data))
sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(table=table, keys=keys, values=values)
try:
if cursor.execute(sql, tuple(data.values())):
print('Successful')
conn.commit()
except Exception:
print('Failed', sys.exc_info())
conn.rollback()
finally:
conn.close()
def main():
data = {
'title': 'a',
'screenshot': 'a',
'type': 0,
'viewCount': 0,
'nickname': 'Allen',
'level': 20,
'headUrl': 'a',
'tag': 'a',
'rank': 3,
'followerCount': 290
}
save_room_info(data)
“房间”表中有一个“id”字段,我将其设置为“自动增量”。而“id”是唯一的主键。 但即使我在数据插入过程中添加了 id,它仍然给出了相同的错误消息。
收到此错误消息:
ProgrammingError(1064, "您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 'rank, followerCount 附近使用的正确语法) VALUES ('a', 'a', 0 , 0, 'Allen', 20, 'a', 'a', 3, 290)' 在第 1 行"),
【问题讨论】:
标签: mysql python-3.x pymysql