使用cursor.lastrowid查询最后一条记录的id时,如果是跟在插入记录的语句后面就可以正常显示出最后一条记录的id,但如果没有插入记录的语句直接打印print(cursor.lastrowid),就会报错:AttributeError: 'DictCursor' object has no attribute 'lastrowid'
这是什么原因啊
可能是因为你在没有执行插入记录的语句时,游标对象并没有执行任何查询操作,因此没有lastrowid属性。在执行插入记录的语句后,游标对象执行了插入操作并获得了最后插入的记录的id,因此可以正常打印出lastrowid属性的值。
你可以在使用cursor.execute()方法执行SQL语句后,使用cursor.connection.commit()提交事务,这样可以确保插入记录已经被保存到数据库中。然后再使用cursor.lastrowid方法查询最后一条记录的id