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 중국어 웹사이트의 기타 관련 기사를 참조하세요!