2014-12-05 52 views
5

我在mysql数据库中创建了一个包含两列的表'test':(age int,name TEXT)。Python中的Mysql无法使用自动增量ID插入记录,为什么?

然后我用下面的代码(与列表)中插入一条记录:

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中的问题,并感谢您的任何帮助。

回答

5

使用此查询:

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

你的代码如下:

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

你的答案是非常及时和伟大。 – 2014-12-05 07:37:46

+0

它工作得很好。非常感谢。我现在意识到,默认设置应该更新所有的字段。在Stackoverflow中的第一次体验非常棒。 :) – 2014-12-05 07:39:03

相关问题