我想检查数据库表中是否存在行。我首先使用这种方法:
type MyStruct struct {
ID uint32
Key string
Value string
}
var result MyStruct
err := db.
Where("id = ? AND `key` = ? AND `value` = 0", myID, myKey).
First(&result).
Error
if err != nil {
if err == gorm.ErrRecordNotFound {
logrus.Error("ErrRecordNotFound")
}
logrus.Errorf("Other DB error: %s", err.Error())
}
但我想通过编写原始 SQL 来实现此目的。我尝试了以下操作:
var result bool
db.Raw("SELECT EXISTS(SELECT 1 FROM my_table WHERE id = ? AND `key` = ? AND `value` = ?)",
myID, myKey, "0").Scan(&result)
但是我得到这个错误:
unsupported destination, should be slice or struct.
我也尝试使用方法,并得到同样的错误。Exec
请注意,该变量是一个实例。db*gorm.DB
绝地无双
喵喵时光机
白衣非少年
汪汪一只猫
繁花如伊
相关分类