• GORM 知识点


    资料 网址
    GORM官方文档 http://gorm.io/zh_CN/docs/index.html
    1. 生成的 SQL 语句会排除没有值或值为 零值 的字段。
    2. 注意 所有字段的零值, 比如 0, '', false 或者其它 零值,都不会保存到数据库内,但会使用他们的默认值。 如果你想避免这种情况,可以考虑使用指针或实现 Scanner/Valuer 接口
    3. 当通过结构体进行查询时,GORM将会只通过非零值字段查询,这意味着如果你的字段值为0,'', false 或者其他 零值时,将不会被用于构建查询条件;你可以使用指针或实现 Scanner/Valuer 接口来避免这个问题.
    4. Count 必须是链式查询的最后一个操作 ,因为它会覆盖前面的 SELECT,但如果里面使用了 count 时不会覆盖
    5. Save会更新所有字段,即使你没有赋值;如果你只希望更新指定字段,可以使用Update或者Updates;
    6. 无 Hooks 更新:上面的更新操作会自动运行 model 的 BeforeUpdate, AfterUpdate 方法,更新 UpdatedAt 时间戳, 在更新时保存其 Associations, 如果你不想调用这些方法,你可以使用 UpdateColumn, UpdateColumns
    7. 批量更新时 Hooks 不会运行
    8. 警告:删除记录时,请确保主键字段有值,GORM 会通过主键去删除记录,如果主键为空,GORM 会删除该 model 的所有记录。
    9. 软删除:如果一个 model 有 DeletedAt 字段,他将自动获得软删除的功能! 当调用 Delete 方法时, 记录不会真正的从数据库中被删除, 只会将DeletedAt 字段的值会被设置为当前时间
    10. 想要创建包含多个整型的复合主键,你需要为这些整型字段关闭 auto_increment
  • 相关阅读:
    Windows7发生VS2005无法调试Web项目《转》
    压缩SQL Server 2005指定数据库文件和日志
    .net开源工具Zed
    oracle 开发手册
    sql server 日期函数第一天
    相对应的汉语拼音首字母串<收藏>
    oracle 触发器使用《收藏》
    Oracle三种集合数据类型的比较
    sql server 系统表
    chart
  • 原文地址:https://www.cnblogs.com/cag2050/p/13449898.html
Copyright © 2020-2023  润新知