> 백엔드 개발 > Golang > Golang에서 레코드 존재를 확인하고 필요한 경우 삽입하는 방법은 무엇입니까?

Golang에서 레코드 존재를 확인하고 필요한 경우 삽입하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-10 16:14:16
원래의
826명이 탐색했습니다.

How to Check for Record Existence and Insert if Necessary in Golang?

Golang에 레코드 존재 확인 및 존재하지 않는 경우 삽입

데이터베이스에 레코드가 있는지 확인하여 레코드를 삽입하는 것이 목표입니다. 존재하지 않는 경우입니다. Golang에서 이를 달성하기 위한 한 가지 접근 방식은 다음과 같습니다.

존재를 확인하려면 지정된 쿼리에 대한 행을 반환하는 QueryRow 함수를 사용할 수 있습니다. 그런 다음 Scan 함수를 사용하여 이 행을 변수로 스캔할 수 있습니다. 스캔 작업이 성공하면 변수가 true로 설정됩니다. 그렇지 않으면 false로 유지됩니다.

레코드가 존재하지 않는 경우 Exec 함수를 사용하여 INSERT 문을 실행하고 레코드를 삽입할 수 있습니다.

다음은 방법의 예입니다. 이 접근 방식을 구현합니다.

var exists bool
row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM category WHERE name = 'construction')")
if err := row.Scan(&exists); err != nil {
    return err
} else if !exists {
    if err := db.Exec("INSERT INTO category (name) VALUES ('construction')"); err != nil {
        return err
    }
}
로그인 후 복사

이 예에서는 이름 열 값이 다음으로 설정된 카테고리 테이블에 레코드가 있는지 확인합니다. '건설'. 레코드가 존재하지 않으면 해당 값을 가진 새 레코드를 삽입합니다.

이 접근 방식을 적용하여 다른 테이블의 레코드를 확인하고 필요한 경우 삽입할 수 있습니다.

위 내용은 Golang에서 레코드 존재를 확인하고 필요한 경우 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿