因此,我对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;'。所以你知道在错误之前/之后环视四周。 –