gpt4 book ai didi

go - 数据库查询命令正在生成奇怪的 sql 查询

转载 作者:IT王子 更新时间:2023-10-29 01:12:32 26 4
gpt4 key购买 nike

我的模型是:

type Report struct {
ID int `json:"id,omitempty" gorm:"primary_key"`
Title *string `json:"title" gorm:"not null"`
}

我已将变量 report 初始化为 var report Report 我已成功将此模型自动迁移为数据库表并将数据库填充为 sql INSERT使用 GORM 的 db.Create(&report)

我面临的问题是在尝试查询命令时。 GORM 支持的每个查询命令,例如 db.Find(&report) , db.First(&report, 1) 都会产生如下查询:

SELECT * FROM "reports"  WHERE "reports"."deleted_at" IS NULL AND ((id = $1))
SELECT * FROM "reports" WHERE "reports"."deleted_at" IS NULL AND ((id = $1))
SELECT * FROM reports WHERE (reports.deleted_at IS NULL) AND ((id = $1))
SELECT * FROM reports WHERE (reports.deleted_at IS NULL) AND ((id = $1))
SELECT 0 done

我无法查询数据库。我正在使用 GORM 和蟑螂数据库。这在使用 GO pq 驱动程序和原始 sql 命令时工作正常。

最佳答案

deleted_at 列是 GORM 的 base gorm.Model 的一部分结构及其 soft delete特征。您是否在我们在此示例中看不到的地方使用了 gorm.Model?这不应该发生,除非您定义一个名为 DeletedAt 的字段或在您的模型结构中嵌入一个 gorm.Model

关于go - 数据库查询命令正在生成奇怪的 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45276775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com