gpt4 book ai didi

database - Gorm“插入忽略”

转载 作者:行者123 更新时间:2023-12-01 22:21:13 34 4
gpt4 key购买 nike

我正在尝试在GORM中实施“插入忽略”。我尝试了Create(),但是找不到添加Ignore的方法。我也尝试过Clause in Gorm

DB.Clauses(clause.Insert{Modifier: "IGNORE"}).Create(&user)`.
但是,我收到一条错误消息 Clauses undefined (type *"github.com/jinzhu/gorm".DB has no field or method Clauses)
我也尝试使用 DB.Raw(),但是由于数据库中有很多表,我不知道每次都如何更改表。例如
DB.Raw("INSERT IGNORE INTO A/B/C/.. ... ...")`. 
每当我可能插入到另一个表中时,我都会通过很多表。
我想知道是否有人对GORM中的 Insert Ignore有经验。谢谢!

最佳答案

嗨,欢迎来到StackOverflow。
我认为您正在使用gorm v1。但是您需要的代码在gorm v2上。
首先,您必须通过在终端上运行此命令来获取Gorm v2MySQL dialector

go get -u gorm.io/gorm // get gorm v2
go get -u gorm.io/driver/mysql // get dialector of mysql from gorm
那么您可以使用gorm的 Clauses
此代码将为您工作。
import (
"gorm.io/gorm"
"gorm.io/driver/mysql"
)


func main(){
db, err := gorm.Open(mysql.Open(MYSQL_CONNECTION_STRING), &gorm.Config{})

if err != nil {
fmt.Println(err.Error())
}else{
db.Clauses(clause.Insert{Modifier: "IGNORE"}).Create(&user)
}
}

关于database - Gorm“插入忽略”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63479636/

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