我正在使用 sqlite,我的Python
代码如下:
...
cur.execute("insert or ignore into books (title, authors, ...) \
values (:title, :authors, ..."), locals())
...
bookId = cur.lastrowid
如果适用的ignore
部分select statement
那么 的cur.lastrowid
值为0
。
但这不是我想要的。books.id
无论如何,我都想从数据库中获取价值。
我应该使用select
语句还是有更聪明的方法来实现它?
我的临时解决方案:
if bookId == 0:
cur.execute("select id from books where \
title = :title and authors = :authors", locals())
bookId = cur.fetchone()[0]