如何通过水壶批量插入检索AUTO_INCREMENT列值



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步骤为提交插入留出时间,但由于这不是您可以同时完成的事情,我认为将其分为按顺序执行的不同转换会变得更清楚。

最新更新