2016-08-11 62 views
0

因此,我對Post gres相當陌生,並且試圖將時間字段的值設置爲當前時間。在後gres中設置時間字段爲當前時間

UPDATE table_name 
SET updated_at = now(), 
WHERE id = :id 

我正在執行這與golang和上述語法錯誤。

如何將當前時間輸入到updated_at時間字段?

+0

刪除'where'(或now()'之後的逗號)。 –

+0

總是,**總是**顯示確切的錯誤文本。 「語法錯誤」不是神祕代碼。它通常會告訴你錯誤在哪裏和錯在哪裏。在這種情況下,它會輸出:'ERROR:語法錯誤在或接近「WHERE」'LINE 3:WHERE id = 1;'。所以你知道在錯誤之前/之後環視四周。 –

回答

0

由於有人指出您有額外的,導致此問題。 您可以正確地形成字符串(在下面的示例中爲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) 
} 
0

至於你提到

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瞭解更多詳情。

希望它適合你。

相關問題