python中sqlite3怎样使用find查找字段_使用Python在SQLite中插入行后如何检索插入的ID?...

您可以使用cursor.lastrowid(请参阅“可选的DB API扩展”):

connection=sqlite3.connect(':memory:')

cursor=connection.cursor()

cursor.execute('''CREATE TABLE foo (id integer primary key autoincrement ,

username varchar(50),

password varchar(50))''')

cursor.execute('INSERT INTO foo (username,password) VALUES (?,?)',

('test','test'))

print(cursor.lastrowid)

# 1

如果两个人同时插入,只要他们使用不同cursor的,cursor.lastrowid就会id为cursor插入的最后一行返回:

cursor.execute('INSERT INTO foo (username,password) VALUES (?,?)',

('blah','blah'))

cursor2=connection.cursor()

cursor2.execute('INSERT INTO foo (username,password) VALUES (?,?)',

('blah','blah'))

print(cursor2.lastrowid)

# 3

print(cursor.lastrowid)

# 2

cursor.execute('INSERT INTO foo (id,username,password) VALUES (?,?,?)',

(100,'blah','blah'))

print(cursor.lastrowid)

# 100

请注意,使用一次插入多个行时会lastrowid返回:Noneexecutemany

cursor.executemany('INSERT INTO foo (username,password) VALUES (?,?)',

(('baz','bar'),('bing','bop')))

print(cursor.lastrowid)

# None

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值