因此,我對Post gres相當陌生,並且試圖將時間字段的值設置爲當前時間。在後gres中設置時間字段爲當前時間
UPDATE table_name
SET updated_at = now(),
WHERE id = :id
我正在執行這與golang和上述語法錯誤。
如何將當前時間輸入到updated_at時間字段?
因此,我對Post gres相當陌生,並且試圖將時間字段的值設置爲當前時間。在後gres中設置時間字段爲當前時間
UPDATE table_name
SET updated_at = now(),
WHERE id = :id
我正在執行這與golang和上述語法錯誤。
如何將當前時間輸入到updated_at時間字段?
由於有人指出您有額外的,
導致此問題。 您可以正確地形成字符串(在下面的示例中爲query
)並將其傳遞給db API。
package main
import (
"fmt"
"time"
)
func main() {
name := "table_name"
id := "table_id"
query := fmt.Sprintf("UPDATE %s SET update_at = %q WHERE id = %s", name, time.Now(), id)
}
至於你提到
You want to set the value of a time field as current time
你可以試試這個,Now()
提供當前日期時間。鑄塑Time
後,我們可以得到currenttime
UPDATE table_name
SET updated_at = now()::TIME
WHERE id = _id
或者你可以嘗試
UPDATE table_name
SET updated_at = current_time --gives you current time with time zone
WHERE id = _id
請參閱 https://www.postgresql.org/docs/9.1/static/functions-datetime.html瞭解更多詳情。
希望它適合你。
刪除'where'(或now()'之後的逗號)。 –
總是,**總是**顯示確切的錯誤文本。 「語法錯誤」不是神祕代碼。它通常會告訴你錯誤在哪裏和錯在哪裏。在這種情況下,它會輸出:'ERROR:語法錯誤在或接近「WHERE」'LINE 3:WHERE id = 1;'。所以你知道在錯誤之前/之後環視四周。 –