【发布时间】:2015-02-03 07:47:31
【问题描述】:
我在 mysql 数据库中创建了一个包含两列的表 'test':(age int, name TEXT)。
然后我使用以下代码(带有列表)插入一条记录:
record = [12, 'Tom']
cursor.execute("insert into test values(%s,%s)", record)
以上代码在mysql中工作(我使用python 2.7进行编程)。
然后我删除旧表并想为新表添加一个 AUTO_INCREMENT P_id 字段,方法是将以下代码添加到 CREATE TABLE sql:
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 的第一次问题,感谢您的帮助。
【问题讨论】:
标签: python mysql insert record auto-increment