为了账号安全,请及时绑定邮箱和手机立即绑定

使用Python插入MySQL数据库后,如何获得“ id”?

使用Python插入MySQL数据库后,如何获得“ id”?

慕婉清6462132 2019-10-26 12:43:01
我执行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往返便宜,而且便宜很多。


查看完整回答
反对 回复 2019-10-26
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

Python DBAPI规范还为光标对象定义了“ lastrowid”属性,因此...


id = cursor.lastrowid

...也应该起作用,并且显然基于每个连接。


查看完整回答
反对 回复 2019-10-26
  • 3 回答
  • 0 关注
  • 2084 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信