I\xe2\x80\x99m 尝试使用此 golang 语句运行/加载 sql 文件到 mysql 数据库中,但这不起作用:
\n\nexec.Command("mysql", "-u", "{username}", "-p{db password}", "{db name}", "<", file abs path )\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我在 Windows 命令提示符中使用以下命令时,它\xe2\x80\x99s 工作完美。
\n\nmysql -u {username} -p{db password} {db name} < {file abs path}\nRun Code Online (Sandbox Code Playgroud)\n\n那么问题出在哪里呢?
\n正如其他人回答的那样,您不能使用<重定向运算符,因为exec不使用 shell。
但您不必重定向输入来读取 SQL 文件。您可以将参数传递给 MySQL 客户端以使用其source命令。
exec.Command("mysql", "-u", "{username}", "-p{db password}", "{db name}",
"-e", "source {file abs path}" )
Run Code Online (Sandbox Code Playgroud)
该source命令是 MySQL 客户端的内置命令。请参阅https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html
| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |