登录
首页 >  Golang >  Go问答

我无法在 golang gorm 中手动创建外键

来源:stackoverflow

时间:2024-02-15 13:21:25 467浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《我无法在 golang gorm 中手动创建外键》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我试图在 gorm 中手动添加外键,但出现此错误

db.model(&models.business{}).addforeignkey undefined (type *gorm.db has no field or method addforeignkey)

我正在使用 postgres 我已经尝试过

db.Model(&Business{}).AddForeignKey("cust_id", "customers(cust_id)", "CASCADE", "CASCADE")

正确答案


你可以用我在gorm中知道的两种解决方案来做到这一点

#1

当你创建模型时,你可以像下面这样做:

type business struct {
  name         string
  customersid int
  customers      customers `gorm:"foreignkey:customersid"` // use customersid as foreign key
}

type customers struct {
  id   int
  name string
}

#2

每次您需要时都可以添加外键,如下所示

Client.Exec("ALTER TABLE business ADD FOREIGN KEY (cust_id)" +
        "REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE;")

今天关于《我无法在 golang gorm 中手动创建外键》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>