在Google App Engine上的Mysql中插入行后获取ID

时间:2015-05-01 15:16:35

标签: python mysql google-app-engine

我正在Python上使用mysql在Google App Engine上构建应用程序。当我在具有自动增量的表中插入新行时,我需要检索自动生成的ID。一些帖子,包括以下两篇,建议使用“SELECT LAST_INSERT_ID();”,但这不起作用。

PHP/MySQL insert row then get 'id'

Query-getting last inserted row id in mysql using query

使用该命令时得到的是第一个ID。我的代码如下所示:

cursor.execute("INSERT INTO tablename (val1, val2) VALUES ("foobar", 42);")
last_id = cursor.execute("SELECT LAST_INSERT_ID();")

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

SQL是正确的,但Python不是。 cursor.execute()返回受影响的行数,而不是操作的结果。你需要调用cursor.fetchone()来获得实际结果,这将是一个元组。