我在python中使用sqlite.当我插入表A时,我需要从表B中提供一个ID.所以我想要做的是将默认数据插入B,获取id(这是自动增量)并在表A中使用它.最好的方法是什么从我刚插入的表中接收密钥?
正如Christian所说,sqlite3_last_insert_rowid()
是你想要的......但那是C级API,你正在使用SQLite的Python DB-API绑定.
看起来游标方法lastrowid
会做你想要的(在文档中搜索'lastrowid'以获取更多信息).插入您的行cursor.execute( ... )
,然后执行类似lastid = cursor.lastrowid
检查插入的最后一个ID的操作.
你说你需要"一个"ID让我担心,但是...... 你拥有哪个 ID 并不重要?除非您使用刚插入B的数据,在这种情况下您需要该行ID,如果您只需要表B的任何旧行ID,您的数据库结构就会严重搞乱.