# Exist方法 检测记录是否存在 ~~~ // SELECT * FROM record_exist LIMIT 1 has, err := engine.Exist(new(RecordExist)) // SELECT * FROM record_exist WHERE name = ? LIMIT 1 has, err = engine.Exist(&RecordExist{ Name: "test1", }) // SELECT * FROM record_exist WHERE name = ? LIMIT 1 has, err = engine.Where("name = ?", "test1").Exist(&RecordExist{}) // select * from record_exist where name = ? has, err = engine.SQL("select * from record_exist where name = ?", "test1").Exist() // SELECT * FROM record_exist LIMIT 1 has, err = engine.Table("record_exist").Exist() // SELECT * FROM record_exist WHERE name = ? LIMIT 1 has, err = engine.Table("record_exist").Where("name = ?", "test1").Exist() ~~~ ### 与Get的区别 Get与Exist方法返回值都为bool和error,如果查询到实体存在,则Get方法会将查到的实体赋值给参数 ~~~ user := &User{Id:1} has,err := testEngine.Get(user) // 执行结束后,user会被赋值为数据库中Id为1的实体 has,err = testEngine.Exist(user) // user中仍然是初始声明的user,不做改变 ~~~ ### 建议 如果你的需求是:判断某条记录是否存在,若存在,则返回这条记录。 建议直接使用Get方法。 如果仅仅判断某条记录是否存在,则使用Exist方法,Exist的执行效率要比Get更高。