>백엔드 개발 >Golang >아직 존재하지 않는 경우에만 Golang에 레코드를 삽입하는 방법은 무엇입니까?

아직 존재하지 않는 경우에만 Golang에 레코드를 삽입하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-27 05:36:131013검색

How to Insert Records in Golang Only if They Don't Already Exist?

Golang에 레코드가 없으면 삽입

Go에서는 데이터베이스/sql 패키지를 사용하여 데이터베이스와 연결을 설정하고 SQL 쿼리를 실행할 수 있습니다. 레코드가 있는지 확인하고 없으면 삽입하려면 다음 단계를 따르세요.

데이터베이스 연결을 열고 작동하는지 확인하세요.

db, err := sql.Open("mysql", "user:password@tcp(hostname:port)/database")
if err != nil {
    // Handle error gracefully
}
err = db.Ping()
if err != nil {
    // Handle error gracefully
}

SQL 쿼리를 준비하여 레코드 존재 확인:

stmt, err := db.Prepare(`SELECT COUNT(*) FROM table_name WHERE column_name = ?`)
if err != nil {
    // Handle error gracefully
}

특정 매개변수(예: "construction"을 열로 사용하여 쿼리 실행) value):

var count int
err = stmt.QueryRow("construction").Scan(&count)
if err != nil {
    // Handle error gracefully
}

count 값 확인:

  • count가 0보다 크면 레코드가 존재합니다.
  • count가 0이면 레코드가 존재하지 않습니다.

레코드가 존재하지 않는 경우(개수는 0) SQL 쿼리를 준비합니다. 삽입용:

stmt, err := db.Prepare(`INSERT INTO table_name (column_name) VALUES (?)`)
if err != nil {
    // Handle error gracefully
}

삽입 쿼리 실행:

_, err = stmt.Exec("construction")
if err != nil {
    // Handle error gracefully
}

이 단계를 따르면 레코드 존재를 효과적으로 확인하고 Go의 데이터베이스/를 사용하여 레코드가 누락된 경우 새 레코드를 삽입할 수 있습니다. SQL 패키지.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.