我执行INSERT INTO语句cursor.execute("INSERT INTO mytable(height) VALUES(%s)",(height))我想获取主键。我的表有2列:id primary, auto incrementheight this is the other column.我刚刚插入了这个,如何获得“ id”?
3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
另外,cursor.lastrowid(MySQLdb支持的dbapi / PEP249扩展名):
>>> import MySQLdb
>>> connection = MySQLdb.connect(user='root')
>>> cursor = connection.cursor()
>>> cursor.execute('INSERT INTO sometable VALUES (...)')
1L
>>> connection.insert_id()
3L
>>> cursor.lastrowid
3L
>>> cursor.execute('SELECT last_insert_id()')
1L
>>> cursor.fetchone()
(3L,)
>>> cursor.execute('select @@identity')
1L
>>> cursor.fetchone()
(3L,)
cursor.lastrowidconnection.insert_id()比另一次MySQL往返便宜,而且便宜很多。
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
Python DBAPI规范还为光标对象定义了“ lastrowid”属性,因此...
id = cursor.lastrowid
...也应该起作用,并且显然基于每个连接。
添加回答
举报
0/150
提交
取消