Hosting Disabled 'load data local infile' 在没有 phpMyAdmin 的情况下远程加载 CSV 的任何替代方法?

Hosting Disabled 'load data local infile' any alternative for loading CSV remotely without phpMyAdmin?

我正在尝试通过命令行将大量 CSV 文件加载到共享主机 MySQL 帐户中,但他们已禁用 'load data local infile'。 我收到此错误:

ERROR 1148 (42000) at line 115: The used command is not allowed with this MySQL version

这是我正在使用的脚本的摘录:

CREATE TABLE bk
( 
  Borough CHAR(2),
  Block DECIMAL(5),
  Lot DECIMAL(4),
);

load data local infile 'BK.csv' into table pluto_BK fields terminated by ',' optionally enclosed by '"' escaped by '\' lines terminated by '\n' starting by '' ignore 1 rows
(@vBorough, @vBlock, @vLot)
SET
Borough = nullif(@vBorough,''),
Block   = nullif(@vBlock,''),
Lot = nullif(@vLot,'');

有什么办法解决这个问题吗?或者我如何在使用 phpMyAdmin 导入时从 SET 开始的最后一部分声明规则?

一种解决方法是只以任何可能的方式导入您的数据,然后执行以下更新:

UPDATE bk
SET
    Borough = COALESCE(Borough, ''),
    Block   = COALESCE(Block, 0.0),
    Lot     = COALESCE(Lot, 0.0);

请注意,在这种特殊情况下,由于您想替换 NULL(即未分配的)值,您还可以在 table 定义中指定默认值:

CREATE TABLE bk (
    Borough CHAR(2) DEFAULT '',
    Block DECIMAL(5) DEFAULT 0.0,
    Lot DECIMAL(4) DEFAULT 0.0
);