我正在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();")
还有其他方法吗?
答案 0 :(得分:0)
SQL是正确的,但Python不是。 cursor.execute()
返回受影响的行数,而不是操作的结果。你需要调用cursor.fetchone()
来获得实际结果,这将是一个元组。