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