MySQL 加载本地数据 INFILE Julia
MySQL LOAD DATA LOCAL INFILE Julia
我正在使用 MySql 5.5.53-0ubuntu0.14.04.1 和 Julia 版本 0.5.0
在我的 julia 脚本中,我正在使用
conn = MySQL.mysql_connect(host, username, password, database)
command = string("LOAD DATA LOCAL INFILE 'infile' INTO TABLE temp_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';")
MySQL.mysql_execute(conn, command)
我收到错误消息“此 MySQL 版本不允许使用的命令”
当我直接在 MySQL 控制台上 运行 时,该命令确实有效,所以我假设这是 Julia MySQL.mysql_connect
的问题。
看起来Python也有类似的问题,下面的语法解决了这个问题。
MySQL LOAD DATA LOCAL INFILE Python
MySQLdb.connect(server, username, password, database, local_infile = 1)
我想知道我应该如何对 Julia 执行此操作?
Repos将其作为答案而不是评论,因为特定代码片段在评论中中断。
如果您能够使用底层 os 设施,并且假设您安装了 mysql 客户端并且您正在尝试做的是从文件填充数据库,作为解决方法您可以将文件内容直接传输到数据库中:
run(pipeline(`mysql -hhost -uusername -ppassword db_name`; stdin="data.sql"))
(根据需要替换 host、用户名、密码、db_name 和文件名)
PS。我不太熟悉 sql 中的 "INFILE" 选项。如果输入不是 .sql 文件而是 .csv 文件,您可以在 julia 中处理该文件以生成适当的 sql 语句以代替手动执行
我想我有:
import MySQL;
conn = MySQL.mysql_connect(host, username, password, database; opts = Dict(MySQL.MYSQL_OPT_LOCAL_INFILE=>1));
command = string("LOAD DATA LOCAL INFILE 'infile' INTO TABLE temp_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';")
MySQL.mysql_execute(conn, command)
请确认。 :)
PS:如上面评论所述,您可能必须先在 mysql-server 配置中启用 local-infile,如 here 所述.
我正在使用 MySql 5.5.53-0ubuntu0.14.04.1 和 Julia 版本 0.5.0
在我的 julia 脚本中,我正在使用
conn = MySQL.mysql_connect(host, username, password, database)
command = string("LOAD DATA LOCAL INFILE 'infile' INTO TABLE temp_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';")
MySQL.mysql_execute(conn, command)
我收到错误消息“此 MySQL 版本不允许使用的命令”
当我直接在 MySQL 控制台上 运行 时,该命令确实有效,所以我假设这是 Julia MySQL.mysql_connect
的问题。
看起来Python也有类似的问题,下面的语法解决了这个问题。 MySQL LOAD DATA LOCAL INFILE Python
MySQLdb.connect(server, username, password, database, local_infile = 1)
我想知道我应该如何对 Julia 执行此操作?
Repos将其作为答案而不是评论,因为特定代码片段在评论中中断。
如果您能够使用底层 os 设施,并且假设您安装了 mysql 客户端并且您正在尝试做的是从文件填充数据库,作为解决方法您可以将文件内容直接传输到数据库中:
run(pipeline(`mysql -hhost -uusername -ppassword db_name`; stdin="data.sql"))
(根据需要替换 host、用户名、密码、db_name 和文件名)
PS。我不太熟悉 sql 中的 "INFILE" 选项。如果输入不是 .sql 文件而是 .csv 文件,您可以在 julia 中处理该文件以生成适当的 sql 语句以代替手动执行
我想我有:
import MySQL;
conn = MySQL.mysql_connect(host, username, password, database; opts = Dict(MySQL.MYSQL_OPT_LOCAL_INFILE=>1));
command = string("LOAD DATA LOCAL INFILE 'infile' INTO TABLE temp_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';")
MySQL.mysql_execute(conn, command)
请确认。 :)
PS:如上面评论所述,您可能必须先在 mysql-server 配置中启用 local-infile,如 here 所述.