我有一个非常简单的应用程序,它通过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)
1条答案
按热度按时间bf1o4zei1#
获取另一个数据库。如果你想使用数据库进行持久化,永远不要使用sqlite。如果你需要内存中的数据库,然后去它,如果你想保存数据供以后使用,选择另一个数据库。