Python中的MySQL INSERT语句

2024-10-01 17:41:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python插入MySQL数据库,但我有一个自动递增列(TeamID)。我用的是下面的几行,效果很不错。但是我不想在Python脚本中指定TeamID,因为它是自动递增的

尝试:

cur.execute ("INSERT INTO teams values (%d, '%s', %d, '%s')" % (11,"Sevilla", 7, "Jorge Sampaoli"))
db.commit()

这非常有效

我怎样才能去掉前%d和11?我想通过脚本自动添加这个值

非常感谢任何帮助

编辑:

^{pr2}$

Tags: 脚本数据库executedbmysqlinsertvalues效果
2条回答

试试看

INSERT INTO teams (name, numb, player) VALUES ('%s', %d, '%s')

即显式列出列。 另外,请不要这样做,而不要做'%s'。您确实需要使用准备好的语句,我认为在Python中,它类似于:

^{pr2}$

阅读SQL注入。在

问题现已解决

我确实指定了列名,但没有注意到需要对所有列(包括int值)使用%s。具体如下:

cur.execute("INSERT INTO teams (TeamName, CountryID, TeamManager) values (%s,%s,%s)", ('Everton', 1, 'Ronald Koeman'))

相关问题 更多 >

    热门问题