我用两列创建了一个表'test':(age int,name TEXT)在mysql数据库中。
然后,我使用以下代码(带有列表)插入一条记录:
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中的第一个问题,感谢您的帮助。
使用此查询:
insert into test (age,name) values(%s,%s)
您的代码如下所示:
record = [12, 'Tom']
cursor.execute("insert into test (age,name) values(%s,%s)", record)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句