使用Python的Mysql无法插入带有autoincrement id的记录,为什么?

时间:2014-12-05 07:20:46

标签: python mysql insert record auto-increment

我创建了一个表'测试'在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中的第一次提问,感谢您的帮助。

1 个答案:

答案 0 :(得分:9)

使用此查询:

insert into test (age,name) values(%s,%s)

您的代码如下:

record = [12, 'Tom']
cursor.execute("insert into test (age,name) values(%s,%s)", record)