2 回答

TA贡献1848条经验 获得超10个赞
改变?到 $1 并不能解决问题。
基本上有几件事解决了这个问题。
1)混合是一个Raw问题query.Where。
Raw查询后sr.db.Where
2)
SELECT_QUERY = `SELECT * FROM events WHERE c_id = ? AND start_time > ? and
end_time < ?`
已经有了select * from。然后使用query := sr.db.Raw(SELECT_QUERY, request.GetCId(), startTime, endTime)引入嵌套select *.
所以,改变 SELECT_QUERY 如下
SELECT_QUERY = `events WHERE c_id = ? AND start_time > ? and
end_time < ?`
解决了这个问题。

TA贡献1818条经验 获得超3个赞
我找到了一个解决方法,当我尝试在 Go/Gorm 解决方案中添加时间戳时收到的错误,PostgreSQL 等效default: now()
于default: time.Now().Format(time.RFC3339)
我收到错误是因为我使用 AutoMigrate() 在 PostgreSQL 中创建表。我发现的一个问题是尝试使用函数的默认值而不是字符串(可用于固定时间戳)时。
所以我不得不进入DataGrid(因为我使用JetBrains,但您可以使用任何 PostgreSQL 管理工具,如pgAdmin)并手动添加默认为的时间戳字段,now()
或者仅更新现有字段以添加默认的now()
. 然后在 Go 中进行下一次构建时,错误就会消失。
- 2 回答
- 0 关注
- 170 浏览
添加回答
举报