我正在尝试实现一个用户将钱转移到另一个帐户的银行交易。但是我的 sql 语句遇到了问题。我已经声明了一个条件来检查被转移的金额是否小于余额。如果满足条件,那么只有我在更新表格。但是,即使发件人帐户中的值根本没有改变,我的第二个更新接收者帐户的表也会更新。这是我正在使用的代码:
con = sqlite3.connect('Bank.db')
con.isolation_level = None
con.execute("begin")
cursorObj = con.cursor()
amnt = 120000
acc_no = 123456
try:
cursorObj.execute("UPDATE transfer SET balance = balance - (?) where (account_no = (?) and balance > (?))", (amnt, acc_no, amnt))
cursorObj.execute("UPDATE transfer SET balance = balance + (?) where account_no = 847425", (amnt, ))
cursorObj.execute("commit")
except con.Error:
print("failed!")
cursorObj.execute("rollback")
cursorObj.execute("SELECT balance FROM transfer")
result = cursorObj.fetchall()
print(result)
[![enter image description here][1]][1]
有只小跳蛙
相关分类