Create 新增数据
Create 用来新增数据。
这一节使用 User 模型:
一、新增一条数据
执行成功后,GORM 会把自增主键写回 user.ID。
二、为什么要传指针
推荐:
不要写:
传指针后,GORM 才能把数据库生成的主键、时间等字段回填到结构体里。
三、查看影响行数
日常代码里主要检查 Error。
四、批量新增
批量创建成功后,每个元素的 ID 也会被回填。
五、分批插入
数据量较多时,可以分批插入:
100 表示每批插入 100 条。
六、只创建指定字段
只写入 Name 和 Email:
忽略某些字段:
本地练习时不需要频繁使用 Select / Omit,但要知道它们可以控制写入字段。
七、默认值字段
模型里有默认值:
创建时不传 Status:
数据库会使用默认值 active。
注意:Go 的零值和数据库默认值之间有细节差异。当前阶段建议关键字段在代码里明确赋值,减少误解。
八、唯一索引冲突
如果邮箱已经存在:
会返回数据库唯一索引冲突错误。
真实项目里通常要:
- 先检查邮箱是否存在。
- 创建时保留唯一索引兜底。
- 捕获错误并返回友好提示。

