目前正在試著自己寫一個私人的轉帳系統,給許多人看過,但是還是有些小問題需要解決
目前遇到問題如下:
我想要轉帳給a,但要先確認a是否在名單中,如果a有在名單中,再把轉給a的資料寫進資料庫
我應該先如何確認有此帳號
以下為會員資料表(T2)
帳號 | 身分 |
---|---|
a | 學生 |
b | 學生 |
確認有a這個帳號再將資料寫入轉帳紀錄(T1) | |
帳號 | 金額 |
------------- | ------------- |
a | 100 |
你有兩個都叫T1的Table,為何要同名?
應該是有一個Table,帳戶金額總是要有明細吧?
該Table可以如下
|ID|日期|用戶|金額|說明
----------------------
1|1810131001|b|-100|轉出100給a
2|1810131001|a|+100|收到b轉入的100
用戶這欄使用外鍵約束,找不到用戶就會失敗,這兩個紀錄和金錢的那兩個操作一起插入成一個事務,這樣某一條失敗就全部失敗,不會成功。
你可以看看資料庫的特性,不要單純把它當Excel玩,善用他的一些性質
我在sqlite
用
SELECT 1 FROM t1 WHERE 帳號 = 'a' LIMIT 1;
如果a
帳號存在,會得到1
https://dbfiddle.uk/?rdbms=sqlite_3.16&fiddle=695367cacf4fdc999c278853ea9f9d1b