背景
使用Python访问数据库并插入数据,设定id为自增主键时
执行命令
def insert(self,dict1):
# 将数据添加到数据库中的cantonese表中
sql = "insert into cantonese(char,pronounce) values(%s,%s)"
data = [dict1['char'], dict1['pronounce']]
self.cursor.execute(sql, data)
self.db.commit() # 提交操作
出现You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version错误
方法
有两种方法可以完成插入:
- 插入时对id的列也进行插入,将id的值设为0即可;
- 也可以不指定id列的值,只将其他列的值插入,让ID还是按照MySQL自增自己填;
上述的方法为第2种,但执行会报上面的错误!
改成方法1-插入时对id的列也进行插入
def insert(self,dict1):
# 将数据添加到数据库中的cantonese表中
sql = "insert into cantonese values(0,%s,%s)"
data = [dict1['char'], dict1['pronounce']]
self.cursor.execute(sql, data)
self.db.commit() # 提交操作
成功完成插入,Done!