我正在學習創建 HTTP API,我正在創建一個虛擬 API 信用系統,因為這是我特別感興趣的。這就是我想出的:(我正在使用PQ 驅動程序)if !dummy.creds <= 0 { c.JSON(404, gin.H{ "success": false, "message": "No Credits!", }) return}但是,假設我將 SQL 表編輯為 50 個積分,每次查詢虛擬 API 時如何減去 1 個積分?因此,例如,如果我查詢 API 并從 SQL 表返回成功的虛擬數據(JSON 格式),我如何減去一個學分,以便我只有 49 個學分,然后是 48、47、46 等。更新:這就是我想出的_, err := db.Exec("UPDATE dummy SET creds = -1 WHERE email = $1")if err != nil { log.Fatal(err)}它沒有工作,而是沒有做任何事情。我究竟做錯了什么?對此的任何答案和知識都將是驚人的!
1 回答

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
我認為問題在于返回一致的結果。那不是要走。是關于數據庫的。搜索“樂觀鎖定”與“悲觀鎖定”、“選擇更新”等。這也是在 go 中使用數據庫的基本(但很好)介紹(如果需要):go-database-sql.org/index .html
- 1 回答
- 0 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消