SQLITE何时向驱动器写入数据?

tpxzln5u  于 2023-03-13  发布在  SQLite
关注(0)|答案(1)|浏览(184)

我有一个非常简单的应用程序,它通过rest API接收请求,使用SQLite将记录写入数据库,然后将rest API调用发送到互联网上的另一个服务器。当我将rest API调用发送到互联网上的服务器时,该服务器进行一些网络处理,然后将响应发送回我,我随后更新记录。
我遇到的问题是,向服务器发送API调用并获得响应的过程在初始写入SQLite之前就完成了。因此,当我尝试更新数据库时,它并不存在。在插入数据时,我执行了一次提交,但有人知道为什么写入并不像我想象的那样即时吗?
我的代码是下面做插入:是,衬垫工作正常

def insert_into_database(dbname,table,**kwargs):
    conn = sqlite3.connect(dbname)

    #generate a unique ID
    id=get_a_uuid()
    #generate the current date for timestamps
    d=datetime.datetime.now()

    fieldnames,values = create_command_line(kwargs)

    insert="INSERT INTO "+table+" (ID,DATE,"+fieldnames+") VALUES ('"+id+"','"+str(d)+"',"+values+")"
    print (insert)
    try:
        conn.execute(insert)
        conn.commit()
    except (sqlite3.Error) as e:
        print(e)
        return(False,str(e))
    conn.close()
    return(True,id)
bf1o4zei

bf1o4zei1#

获取另一个数据库。如果你想使用数据库进行持久化,永远不要使用sqlite。如果你需要内存中的数据库,然后去它,如果你想保存数据供以后使用,选择另一个数据库。

相关问题