我创建了一个表'测试'在mysql数据库中有两列:(age int,name TEXT)。
然后我使用以下代码(带列表)插入记录:
record = [12, 'Tom']
cursor.execute("insert into test values(%s,%s)", record)
以上代码在mysql中工作(我使用python 2.7进行编程)。
然后删除旧表,并希望通过将以下代码添加到CREATE TABLE sql中为新表添加AUTO_INCREMENT P_id字段:
P_id int(11) PRIMARY KEY AUTO_INCREMENT,
新表工作,我在mysql中找到它。 但是,当我尝试使用相同的代码插入新记录时:
record = [12, 'Tom']
cursor.execute("insert into test values(%s,%s)", record)
但它没有工作和报告:
OperationalError: (1136, "Column count doesn't match value count at row 1")
看起来我应该自己添加P_id的值? 但它应该自动增加,我可以省略吗? 我是mysql的新手,请帮忙详细说明。
这是我在StackOverflow中的第一次提问,感谢您的帮助。
答案 0 :(得分:9)
使用此查询:
insert into test (age,name) values(%s,%s)
您的代码如下:
record = [12, 'Tom']
cursor.execute("insert into test (age,name) values(%s,%s)", record)