亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL邏輯錯誤: near "RETURNING": syntax error (1) Go

SQL邏輯錯誤: near "RETURNING": syntax error (1) Go

Go
阿波羅的戰車 2022-12-13 16:20:19
我正在創建一個 crud 應用程序,并且正在使用內存數據庫測試數據庫。唯一中斷的測試和函數是 toggleTask 函數和測試。功能:func (r *Repository) ToggleTask(task Task) (Task, error) {    query := "UPDATE Tasks SET completed = NOT completed WHERE id = (?)"    _, err := r.db.Exec(query, task.ID)    if err != nil {        return task, err    }    query = "SELECT id, txt, completed FROM Tasks WHERE id = (?) RETURNING *"    err = r.db.QueryRow(query, task.ID).Scan(&task.ID, &task.Text, &task.ListID, &task.Completed)    if err != nil {        return task, err    }    return task, nil}測試:const (    ToggleTask = "SELECT id, txt, completed FROM Tasks WHERE id = (?) RETURNING *")func TestToggleTask(t *testing.T) {    repo := mockDbRepo()    list := List{Name: "Test List"}    repo.db.Exec(CreateList, list.Name)    task := Task{Text: "Test Task", ListID: list.ID}    repo.db.Exec(CreateTask, task.Text, task.ListID)    completedTask,err := repo.ToggleTask(task)    if err != nil {        t.Error(err)    }    if !reflect.DeepEqual(completedTask, task) {        t.Errorf("Expected %v, got %v", task, completedTask)    }}測試返回給我:SQL 邏輯錯誤:“RETURNING”附近:語法錯誤 (1)
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

您的 SQL 查詢不正確。如 SQL Lite 文檔中所述,SELECT不接受RETURNING子句。該SELECT子句本身返回數據。在您的查詢中刪除您的RETURNING條款,您應該會很好。

SQL Lite 參考: https: //www.sqlite.org/lang_select.html


查看完整回答
反對 回復 2022-12-13
  • 1 回答
  • 0 關注
  • 402 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號