因此,我有一个非常简单的应用程序,它通过rest API接收请求,使用SQLite将记录写入数据库,然后将rest API调用发送到Internet上的另一台服务器。当我将其余的API调用发送到Internet上的服务器时,该服务器进行一些网络处理,然后将响应发送回给我,然后我更新记录。
我遇到的问题是,向SQLite进行初始写入之前,已将API调用发送到服务器并获得响应的返回过程已经完成。因此,当我尝试更新数据库时,它不存在。在插入数据时,我进行了一次提交,但是没有人知道为什么写操作没有我想象的那么瞬时吗?
下面是我的代码来进行插入:是的,插入有效
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)