当前位置: 首页 > news >正文

Golang Gorm 一对多关系 关系表创建

一对多关系


我们先从一对多开始多表关系的学习因为一对多的关系生活中到处都是,例如:

  • 老板与员工
  • 女神和添狗
  • 老师和学生
  • 班级与学生
  • 用户与文章

在创建的时候先将没有依赖的创建。表名称+ID就是外键。外键要和关联的外键的数据类型要保持一致。

package mainimport ("gorm.io/driver/mysql""gorm.io/gorm"
)// User 用户表 一个用户拥有多篇文章
type User struct {ID       int64Name     string    `gorm:"size:6"`Articles []Article //用户拥有的文章列表 has many
}type Article struct {ID     int64  `gorm:"size:4"`Title  string `gorm:"size:16"`UserID int64  //属于  belongs to  这里的类型要和引用的外键类型一致User   User   //属于
}func (*User) TableName() string {return "user"
}func (*Article) TableName() string {return "article"
}func main() {dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local"db, _ := gorm.Open(mysql.Open(dsn), &gorm.Config{})db.Debug().AutoMigrate(&User{}, &Article{})
}[52.373ms] [rows:0] CREATE TABLE `user` (`id` bigint AUTO_INCREMENT,`name` varchar(6),PRIMARY KEY (`id`))[30.441ms] [rows:0] CREATE TABLE `article` (`id` tinyint AUTO_INCREMENT,`title` varchar(16),`user_id` bigint,PRIMARY KEY (`id`),CONSTRAINT `fk_user_
articles` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`))

http://www.lryc.cn/news/139418.html

相关文章:

  • java八股文面试[数据结构]——ConcurrentHashMap原理
  • 学习记录——FeatEnHancer
  • OpenCV中常用的函数
  • 【福利】Google Cloud Next ’23 精彩待发,Cloud Ace 作为联合赞助商提前发福利~
  • vue-admin-template实现按钮级控制
  • 数据驱动工作效率提升的5个层次—以PreMaint设备数字化平台为例
  • 白介素对NK细胞功能的影响(IL-1β、IL-12、IL-15、IL-18、IL-21)
  • C++笔记之虚函数重写规则、返回类型协变、函数的隐藏
  • 抢鲜体验!vLive虚拟直播5大实用新功能上线!
  • 网约车平台如何开发?需要多少钱?
  • Rust踩雷笔记(5)——刷点链表的题(涉及智能指针Box,持续更新)
  • [附源码]计算机毕业设计-JAVA火车票订票管理系统-springboot-论-文-ppt
  • CARLA spawn Actor (Vehicle and Pedestrian)
  • 【官方中文文档】Mybatis-Spring #SqlSessionFactoryBean
  • el-tree树回显删除某项,再次点开树形组件无变化,实际数据已改变
  • 生产作业标准化是什么?生产车间作业流程标准化的步骤
  • CSS3盒模型+flex
  • 物种气候生态位动态量化与分布特征模拟
  • 微服务参数透传实现
  • leetcode 767. Reorganize String(重组字符串)
  • java八股文面试[数据结构]——List和Set的区别
  • 脑机接口里程碑!一天2篇Nature!
  • C语言strchr函数
  • Linux下的Shell基础——Shell概述和入门(一)
  • 当你在浏览器中输入了网址访问时产生了哪些技术步骤
  • 嵌入式Linux人脸检测libfacedetection
  • Hugo托管到Github Pages
  • Python经典面试题——在txt里面添加字段和数据
  • 【观察】打造以AI为导向的基础设施,联想锚定AI算力“主航道”
  • 预防缓存穿透工具类