AdSense

網頁

2023/5/8

Golang GORM 查詢資料是否存在

Go使用GORM ORM套件做查詢資料是否存在的方式如下。。


範例環境:

  • Go 1.19
  • GORM 2.0 (gorm.io/gorm v1.24.2)
  • PostgreSQL 14


事前要求

參考「Golang GORM PostgreSQL基本設定」設定資料庫及安裝GORM套件。

參考「Golang GORM 條件查詢」了解GORM的where查詢。


範例

利用gorm.DB.Select輸入count(*) > 0並以bool pointer變數去接收結果。

main.go

package main

import (
    "fmt"
    "time"

    "gorm.io/driver/postgres"
    "gorm.io/gorm"
    "gorm.io/gorm/schema"
)

type Employee struct {
    ID        int64     // primary key, column name is `id`
    Name      string    // column name is `name`
    Age       int       // column name is `age`
    CreatedAt time.Time // column name is `created_at`
}

const (...)

func getGormDB() *gorm.DB {...}

func main() {
    db := getGormDB()
    
    var exists bool
    err := db.Model(&Employee{}).
        Select("count(*) > 0").
        Where("age > ? ", 30).
        Take(&exists).Error
    if err != nil {
        return exists, err
    }

    fmt.Println(exists) // true
}


沒有留言:

AdSense