在 Kettle/Spoon 上插入自动递增 ID
Insert auto-incremental id on Kettle/Spoon
我在一个文本文件中有一列 "names"。
我想将此列添加到我的数据库的 table "names" 中,该列已经存在并且有很多名称。
看起来很简单,就是不知道怎么加自增ID
我有这样的东西:
names
John
Lars
Peter
我想要这样的东西。
id | names
.........
68 | John
69 | Lars
70 | Peter
这就是我创建 table 的方式:
CREATE TABLE IF NOT EXISTS `names` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '',
`name` VARCHAR(45) NOT NULL COMMENT '',
PRIMARY KEY (`id`) COMMENT '')
ENGINE = InnoDB;
有两个细节需要考虑:
1 - 如果不希望数据库中有两行同名。
为此,您必须仅在 insert/update 任务的查找部分设置名称字段。
2 - 如果可以有两行同名。
不要在 insert/update 任务的查找部分放置任何内容。
Kettle 在这两种情况下都不会在插入中包含 ID 列。 Mysql 将自动定义下一个 ID,因为 ID 字段被标记为 auto_icrement。
更新
请查看目标 table 字段。您定义了 "domain" table 而不是 "names"。
我在一个文本文件中有一列 "names"。 我想将此列添加到我的数据库的 table "names" 中,该列已经存在并且有很多名称。 看起来很简单,就是不知道怎么加自增ID
我有这样的东西:
names
John
Lars
Peter
我想要这样的东西。
id | names
.........
68 | John
69 | Lars
70 | Peter
这就是我创建 table 的方式:
CREATE TABLE IF NOT EXISTS `names` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '',
`name` VARCHAR(45) NOT NULL COMMENT '',
PRIMARY KEY (`id`) COMMENT '')
ENGINE = InnoDB;
有两个细节需要考虑:
1 - 如果不希望数据库中有两行同名。 为此,您必须仅在 insert/update 任务的查找部分设置名称字段。
2 - 如果可以有两行同名。 不要在 insert/update 任务的查找部分放置任何内容。
Kettle 在这两种情况下都不会在插入中包含 ID 列。 Mysql 将自动定义下一个 ID,因为 ID 字段被标记为 auto_icrement。
更新
请查看目标 table 字段。您定义了 "domain" table 而不是 "names"。