在 Talend 中如何知道 tMySQLInput 是否会覆盖数据?

How to know in Talend if tMySQLInput will overwrite data?

我已有一个 Talend Open Studio tMySQLInput 组件,其中包含一些 sql 代码,以便检索链接到 tMySQLOuput 组件的一些连接列(指向一个已经存在的 MySQL table),记录很少。

问题: "tMySQLInput" 组件是否会覆盖 tMySQLOutput 组件相关的现有 table 数据?我的意思是有没有一个选项可以检查 tMySQLInput 我们的输出以便说,每次执行这个作业时覆盖?

谢谢大家

是的,在 tMySQLOutput 中有一个选项,您可以在其中指定要对 table 执行的操作。按照以下步骤操作:

  1. 进入tMySQLOutput的组件选项卡,会打开该组件的基本设置。

  2. 如果仔细观察,您会发现 table 上的操作。这是您可以对 tMySQLOutput 指向的 table 执行的操作。它有 DefaultDropCreate Table 等选项

  3. 然后您有对数据的操作。这些是您可以对数据执行的选项,例如 InsertUpdate

在您的情况下,我想您可以选择 Table 上的操作作为默认值,选择数据上的操作作为插入。默认操作不会对 table 执行任何操作,插入选项会在 table 的末尾插入记录。但是在 Insert 的情况下,如果您有重复的行,那么作业将在找到任何重复行的那一刻停止。