mysql中有两个表,ddl如下
CREATE TABLE `class` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`class_name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE student (
id bigint(20) NOT NULL AUTO_INCREMENT,
class_id bigint(20) NOT NULL,
student_name varchar(20) NOT NULL,
PRIMARY KEY (`id`)
);
我需要在批量保存class
后检索id
,以批量保存使用水壶的student
。
我不认为你可以在一个转换中完成,即同时插入到类图和学生表中,你需要使用两个转换,第一个转换插入到类图中,所以你为每个类名生成id,第二个转换在第一个转换完成后,在类图中执行查找以获得id,然后插入到学生表中。
请记住,在Kettle转换中,一开始就初始化所有步骤,因此您不能插入新id并同时为新id进行选择。在查询类表之前,您可以使用Block步骤为提交插入留出时间,但由于这不是您可以同时完成的事情,我认为将其分为按顺序执行的不同转换会变得更清楚。