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