Dans ce scénario, vous disposez d'un fichier CSV contenant des données que vous souhaitez insérer en masse dans une table PostgreSQL en utilisant Go et GORM ORM, sans utiliser de boucles for ou de requêtes brutes SQL.
La bibliothèque pgx peut être utilisée pour cette tâche, comme démontré dans l'extrait de code suivant :
<code class="go">package main import ( "context" "database/sql" "fmt" "os" "github.com/jackc/pgx/v4/pgxpool" ) func main() { filename := "foo.csv" dbconn, err := pgxpool.Connect(context.Background(), os.Getenv("DATABASE_URL")) if err != nil { panic(err) } defer dbconn.Close() f, err := os.Open(filename) if err != nil { panic(err) } defer func() { _ = f.Close() }() res, err := dbconn.Conn().PgConn().CopyFrom(context.Background(), f, "COPY csv_test FROM STDIN (FORMAT csv)") if err != nil { panic(err) } fmt.Print(res.RowsAffected()) }</code>
Dans ce code :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!