> 백엔드 개발 > Golang > Go의 `github.com/go-sql-driver/mysql` 드라이버를 사용하여 단일 문자열에서 여러 SQL 문을 어떻게 실행할 수 있나요?

Go의 `github.com/go-sql-driver/mysql` 드라이버를 사용하여 단일 문자열에서 여러 SQL 문을 어떻게 실행할 수 있나요?

Susan Sarandon
풀어 주다: 2024-11-28 13:34:11
원래의
849명이 탐색했습니다.

How Can I Execute Multiple SQL Statements in a Single String Using Go's `github.com/go-sql-driver/mysql` Driver?

Go를 사용하여 하나의 문자열에 여러 SQL 문

PHP에서는 여러 SQL 문을 구분 기호로 구분하여 한 번에 실행하는 것이 간단합니다. 세미콜론. 그러나 이 기능을 제공하는 Go용 MySQL 드라이버를 찾는 것은 어려울 수 있습니다.

인기 있는 드라이버 중 하나인 github.com/go-sql-driver/mysql은 처음에는 이와 관련하여 제한에 직면했습니다. 그러나 문서에 따르면 이제 multiStatements=true 연결 매개변수를 통해 여러 문을 지원합니다.

다음은 시연하기 위해 수정된 코드 조각입니다.

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // Create a connection string with multiStatements enabled
    connectionString := fmt.Sprintf("user:password@(127.0.0.1:3306)/?multiStatements=true")

    db, err := sql.Open("mysql", connectionString)
    if err != nil {
        log.Println(err)
    }

    sql := "DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;"
    _, err = db.Exec(sql)
    if err != nil {
        log.Println(err)
    }

    db.Close()
}
로그인 후 복사

이러한 수정으로 여러 SQL 문이 SQL 문자열은 단일 호출로 실행되어 이전에 발생한 "오류 1064"를 제거합니다.

여러 문을 사용하는 것을 기억하세요 한 문자열에서는 예측할 수 없는 결과가 발생할 수 있으므로 주의해서 접근해야 합니다. github.com/go-sql-driver/mysql의 공식 문서는 이 주제에 대한 자세한 내용을 제공합니다.

위 내용은 Go의 `github.com/go-sql-driver/mysql` 드라이버를 사용하여 단일 문자열에서 여러 SQL 문을 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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