MySQL数据表自增长主键时插入数据,解决错误You have an error in your SQL syntax; check the manual that corresponds to yo

背景

使用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错误

方法

有两种方法可以完成插入:

  1. 插入时对id的列也进行插入,将id的值设为0即可;
  2. 也可以不指定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!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值