Mysql 使用sqlloader在表中加载CSV文件

Mysql 使用sqlloader在表中加载CSV文件,mysql,csv,sql-loader,Mysql,Csv,Sql Loader,我的CSV文件有两列id_a和id_b,但我需要再插入4列即使用sqlldr的emp_sal_a、emp_sal_b、emp_dept_a、emp_dept_b。因此,我当前的控制文件如下所示: load data infile '/home/.../employee.txt' into table employee fields terminated by "," ( id_a, id_b, emp_sal_a ":id_a+1000", emp_sal_b "id_b+1000",

我的CSV文件有两列id_a和id_b,但我需要再插入4列<代码>即使用sqlldr的emp_sal_a、emp_sal_b、emp_dept_a、emp_dept_b。因此,我当前的控制文件如下所示:

load data
infile '/home/.../employee.txt'
 into table employee
 fields terminated by ","
 ( id_a, id_b, 
emp_sal_a ":id_a+1000", emp_sal_b "id_b+1000", emp_dept_a "10", emp_dept_b "20")
但我得到了一个错误:

无效的绑定变量


注意:搜索“(”字符,这是该字符在页面上的第35个实例

SET子句中的用户变量可通过多种方式使用。以下示例将第一个输入列直接用于t1.column1的值,并将第二个输入列分配给用户变量,该用户变量在用于t1.column2的值之前经过除法运算:


@var1是要对其运行操作的变量的名称,您要做的是调用column2上的SET,使其等于@var1/100。

那么,假设您试图通过对导入的列之一进行操作来创建列值是否正确?为什么要用
mysql
标记此变量?
sqlldr
是Oracle工具?
LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @var1)
SET column2 = @var1/100;