我正在使用AWS数据管道将数据从RedShift复制到RDS中的MySql。数据被复制到MySQL。在管道中,插入查询指定如下:
insert into test_Employee(firstname,lastname,email,salary) values(?,?,?,?);
我有什么方法可以在上面的查询中指定源表的列名来代替??我尝试添加源表的列名,但似乎不起作用。目前,源表和目标表中的列名相同。
感谢您的时间。如果需要任何其他信息,请与我们联系。
答案 0 :(得分:1)
指定列而不是?
不会起作用,因为插入SQL查询对源数据源一无所知。 AWS Copy活动只是按照您从源数据集中选择的顺序将参数传递给此查询。
但是,插入查询中的目标表(test_Employee
)的列名不必与DDL中指定的列的顺序相匹配,因此您可以更改此查询以匹配列中的列的顺序。源表。
例如,如果您的源数据集包含以下列:
email,first_name,last_name,salary
插入查询:
insert into test_Employee(email,firstname,lastname,salary) values(?,?,?,?);
注意即可。如您所见,源表和目标表的列名称不必匹配。