可能是因为你在没有执行插入记录的语句时,游标对象并没有执行任何查询操作,因此没有lastrowid属性。在执行插入记录的语句后,游标对象执行了插入操作并获得了最后插入的记录的id,因此可以正常打印出lastrowid属性的值。
你可以在使用cursor.execute()方法执行SQL语句后,使用cursor.connection.commit()提交事务,这样可以确保插入记录已经被保存到数据库中。然后再使用cursor.lastrowid方法查询最后一条记录的id