代码:
def before_request():
try:
g.db = mysql.connector.connect(user=user1,password=pass1, host=hos1,
database=testdb1)
g.db1 = mysql.connector.connect(user=user2,password=pass2, host=host2,
database=testdb2)
@app.route('/user/<db>', methods=['POST'])
def insert(db):
body=request.json
try:
#Http request for inserting data into testdb1:"curl 'http://localhost:5000/user/**testdb1**' testdb1 is the database".
same way ##Http request for inserting data into testdb2:"curl 'http://localhost:5000/user/**testdb2**' testdb2 is 2nd database".
#code for inserting data into database(testdb1/testdb2) according to http request.
一切正常,但问题出在我发送时(http请求) 因为我们可以说将数据插入 testdb1 。然后才能打开与两个数据库的连接。但是我希望只有所请求的数据库连接才能打开,而不是两者都打开。
问题:1。我需要做哪些更改才能打开一个连接? 2.有可能将g.db作为连接变量,它存储连接和http请求来自数据库。请问对于testdb1然后只有那个连接被打开?
答案 0 :(得分:0)
你应该这样设置。当你启动你的服务器时,你做两个全局连接做某事或类似: 例如,
conn1 = None
conn2 = None
def connection1():
global conn1
if conn1 is None:
conn1 = ...
return conn1
如果你想要sql,
from initConnection import conn1, conn2
conn1.execute(sql) or conn2.execute()
只使用一个connection1或connection2。