我有一个Python
代码如下:
...
cur.execute("insert or ignore into books (title, authors, ...) \
values (:title, :authors, ..."), locals())
...
bookId = cur.lastrowid
如果ignore
的{{1}}部分适用
然后select statement
的值为cur.lastrowid
。
但这不是我想要的。我想从数据库中获取0
值
无论如何。
我应该使用books.id
声明还是有更聪明的方法来实现它?
我的临时解决方案:
select
答案 0 :(得分:5)
没有更好的方法。
要从数据库中读取一些现有值,只有SELECT
。
答案 1 :(得分:3)
尝试使用on duplicate key update id=LAST_INSERT_ID(id)
作为PK。从那时起,似乎lastrowID似乎是正确的。