我正在嘗試實現一個用戶將錢轉移到另一個帳戶的銀行交易。但是我的 sql 語句遇到了問題。我已經聲明了一個條件來檢查被轉移的金額是否小于余額。如果滿足條件,那么只有我在更新表格。但是,即使發件人帳戶中的值根本沒有改變,我的第二個更新接收者帳戶的表也會更新。這是我正在使用的代碼:con = sqlite3.connect('Bank.db')con.isolation_level = Nonecon.execute("begin")cursorObj = con.cursor()amnt = 120000acc_no = 123456try: 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]
滿足第一個條件后執行第二個更新語句
慕婉清6462132
2022-07-05 17:42:33