Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql-加载数据填充-在Mysql版本4中跳过列_Mysql_File_Import_Load Data Infile - Fatal编程技术网

Mysql-加载数据填充-在Mysql版本4中跳过列

Mysql-加载数据填充-在Mysql版本4中跳过列,mysql,file,import,load-data-infile,Mysql,File,Import,Load Data Infile,我正在尝试使用:LoadDatainfle将一些数据导入数据库 例如: 我有一个表(名称:tab),有两列:colA,colB 文件中有三列,示例文件内容:value1 | value2 | value3 我希望价值2归可乐,价值3归可乐。我不需要价值1 在Mysql 5中,我是这样做的: LOAD DATA INFILE <filename> REPLACE INTO TABLE tab FIELDS TERMINATED BY '|' LINES TERMINATED BY '\

我正在尝试使用:LoadDatainfle将一些数据导入数据库

例如:

我有一个表(名称:tab),有两列:
colA
colB

文件中有三列,示例文件内容:
value1 | value2 | value3

我希望价值2归可乐,价值3归可乐。我不需要价值1

在Mysql 5中,我是这样做的:

LOAD DATA INFILE <filename>
REPLACE
INTO TABLE tab
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\r'
(@dummy, colA, colB);
我签入了mysql文档:在mysql中,文件中的4个值不能保存到用户变量(在我的示例中为@dummy)

您是否知道如何在Mysql 4中仅导入(使用load data Infle)文件中的一些列


感谢您将数据加载到临时表中,然后使用:

创建临时表tmptab-LIKE选项卡;
ALTER TABLE tmptab添加列虚拟文本;
加载数据填充
进入tmptab表
以“|”结尾的字段
以“\r”结尾的行
(哑巴、可乐、可乐);
替换为tmp(可乐,可乐)从tmptab中选择(可乐,可乐);
放下临时桌tmptab;

对最后一个答案的评论(因为我无法评论):

如果代码:

LOAD DATA INFILE <filename>
  INTO TABLE tmptab
  FIELDS TERMINATED BY '|'
  LINES TERMINATED BY '\r'
  (dummy, colA, colB);
加载数据填充
进入tmptab表
以“|”结尾的字段
以“\r”结尾的行
(哑巴、可乐、可乐);
-导致一些警告,然后使用:

LOAD DATA INFILE <filename>
  INTO TABLE tmptab
  FIELDS TERMINATED BY '|'
  LINES TERMINATED BY '\r\n'
  (@dummy, colA, colB);
加载数据填充
进入tmptab表
以“|”结尾的字段
以“\r\n”结尾的行
(@dummy,colA,colB);

谢谢。

你到底为什么要使用MySQL 4?现在已经不是1990年了…我不使用了。有一个非常旧的应用程序在使用它,我不得不使用它。这也是一个非常大的应用程序,很多客户都在使用它,升级到mysql 5并不容易菲,谢谢你的回答。这是一个好主意,但这个解决方案需要创建另一个表,我认为这可能很慢。也许有一个不创建临时表的解决方案?最后我这样做了。它工作得还不错(尽管我有很多文件和许多Rekord)。谢谢
LOAD DATA INFILE <filename>
  INTO TABLE tmptab
  FIELDS TERMINATED BY '|'
  LINES TERMINATED BY '\r'
  (dummy, colA, colB);
LOAD DATA INFILE <filename>
  INTO TABLE tmptab
  FIELDS TERMINATED BY '|'
  LINES TERMINATED BY '\r\n'
  (@dummy, colA, colB);