tMysqlLastInsertIdで最後に挿入したレコードのIDの取得 - 7.3

MySQL

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > MySQL
データガバナンス > サードパーティーシステム > DBコンポーネント > MySQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > MySQL
Last publication date
2024-02-22

以下のJavaシナリオでは、Mysqlデータベースへの接続を開き、定義済みのデータをデータベースに書き込み、最終的に既存の接続で最後に挿入されたIDをフェッチするジョブを作成します。

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。

  • [Palette] (パレット)から、tMysqlConnectiontMysqlCommittFileInputDelimitedtMysqlOutputtMysqlLastInsertIdtLogRowというコンポーネントをデザインワークスペースにドロップします:

  • [On Subjob Ok] (サブジョブがOKの場合)リンクを使って、tMysqlConnectiontFileInputDelimited に接続させます。

  • [On Subjob Ok] (サブジョブがOKの場合)リンクを使って、tFileInputDelimitedtMysqlCommitに接続させます。

  • [Row Main] (行>メイン)リンクを使用して、tFileInputdelimitedを他の3つのコンポーネントに接続します。

  • デザインワークスペースでtMysqlConnectionを選択します。

  • [Component] (コンポーネント)タブをクリックして、tMysqlConnectionの基本設定を定義します。

  • [Basic settings] (基本設定)ビューで、接続の詳細を手動で設定します。メタデータデータベース接続エントリーとしてローカルに保存した場合は、コンテキスト変数リストから選択し、Ctrl + スペースを使って対応するフィールドをクリックします。メタデータの詳細は、Talend Studioユーザーガイドをご覧ください。

  • デザインワークスペースでtMysqlCommitを選択し、[Component] (コンポーネント)タブをクリックし基本設定を定義します。

  • 複数の接続を使用している場合は、[Component List] (コンポーネントリスト)で該当するtMysqlConnectionを選択します。

  • デザインワークスペースでtFileInputDelimitedを選択します。

  • [Component] (コンポーネント)タブをクリックして、tFileInputDelimitedの基本設定を定義します。

  • 処理されたファイルへのパスを[File Name] (ファイル名)フィールドに入力します。このサンプルで使用しているファイルはCustomersです。

  • 行末を識別できる[Row separator] (行区切り)を定義します。行内のフィールドの区切りに使用する[Field separator] (フィールド区切り)を定義します。

  • 必要に応じて、ヘッダー、フッター、処理される行数を設定するために使われます。このシナリオでは、ヘッダーは1つです。

  • [Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックして、次のコンポーネントに渡すデータを定義します。

関連項目: Talend Studioユーザーガイドをご覧ください。

このシナリオでは、スキーマはnameおよびageという2つのカラムで構成されています。前者には従業員3人の名前、後者にはそれぞれの対応する年齢が保存されています。

  • デザインワークスペースでtMysqlOuptputを選択します。

  • [Component] (コンポーネント)タブをクリックして、tMySqlOuptputの基本設定を定義します。

  • [Use an existing] (既存の接続を使用)チェックボックスをオンにします。

  • [Table] (テーブル)フィールドで、従業員のリストを書き込むテーブルの名前を入力します。このサンプルではemployeeです。

  • [Action on table] (テーブルでのアクション)リストおよび[Action on data] (データでのアクション)リストで、該当するアクションを選択します。このサンプルでは、テーブルでのアクションはなく、データでのアクションはInsertです。

  • [Sync columns] (カラムを同期)をクリックして、カラムを前のコンポーネントと同期します。この例では、MySqlデータベーステーブルに挿入するスキーマは、nameおよびageという2つのカラムで構成されています。

  • デザインワークスペースでtMysqlLastInserIdを選択します。

  • [Component] (コンポーネント)タブをクリックして、tMySqlLastInserIdの基本設定を定義します。

  • 複数の接続を使用している場合は、[Component List] (コンポーネントリスト)で該当するtMysqlConnectionを選択します。

  • [Sync columns] (カラムを同期)をクリックして、カラムを前のコンポーネントと同期します。tMysqlLastInsertIdの出力スキーマで、既存の接続に最後に挿入されたIDを取得する読み取り専用のカラムlast_insert_idを確認できます。

エントリー数が非常に多い場合は、[Type] (タイプ)ドロップダウンリストからデータ型Longを選択できます。

  • デザインワークスペースで、tLogRowを選択して、[Component] (コンポーネント)タブをクリックし、基本設定を定義します。詳細は、tLogRowをご覧ください。

  • ジョブを保存し、F6を押して実行します。

tMysqlLastInsertIdは、既存の接続の各行に、最後に挿入したIDを取得しました。