--- title: "転送先 - MySQL | TROCCO Docs" slug: "data-destination-mysql" updated: 2026-03-26T00:15:26Z published: 2026-03-26T00:15:26Z canonical: "documents.trocco.io/data-destination-mysql" --- > ## Documentation Index > Fetch the complete documentation index at: https://documents.trocco.io/llms.txt > Use this file to discover all available pages before exploring further. # 転送先 - MySQL ## 概要 MySQLへデータを転送する設定のDocsです。 ## 設定項目 ### STEP1 基本設定 | 項目名 | 必須 | デフォルト値 | 内容 | | --- | --- | --- | --- | | MySQL接続情報 | Yes | - | あらかじめ登録してある接続情報から、今回の転送設定に必要な権限を持つものを選択します。 | | データベース名 | Yes | - | 転送先となるMySQLの存在するデータベース名を指定してください。 記入欄の下にあるボタンを押すことでデータベースの一覧を読み込むことも可能です。 | | テーブル | Yes | - | 転送先のテーブル名を入力して下さい。 存在しない場合は転送時に新しく作成されます。 | | 転送モード | Yes | 追記 (`INSERT`) | 後述の[転送モードについて](/docs/data-destination-mysql#%E8%BB%A2%E9%80%81%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)を参照ください。 | ### STEP1 詳細設定 | 項目名 | 必須 | デフォルト値 | 内容 | | --- | --- | --- | --- | | 転送前に実行するクエリ | No | - | MySQLからデータ転送する前に実行したいSQLを入力します。 なお、**転送モード「replace」を選択した場合、このクエリは実行されません。** | | 転送完了後に実行するクエリ | No | - | MySQLからデータ転送完了した後に実行したいSQLを入力します。 | ### STEP2 出力オプション | 項目名 | 必須 | デフォルト値 | 内容 | | --- | --- | --- | --- | | 最大リトライ回数 | Yes | 12 | 最大のリトライ回数を指定します。 | | リトライ待ち時間(ミリ秒) | Yes | 1,000 | リトライ時の待ち時間を指定します。 | | リトライ待ち時間の最大値(ミリ秒) | Yes | 1,800,000 | リトライ時の待ち時間の最大値を指定します。 | | デフォルトのタイムゾーン | Yes | `UTC` | デフォルトのタイムゾーンを指定します。 | | カラム設定 | No | - | MySQLにデータを転送する際に用いるデータ型をカラムごとに明示できます。 以下のデータ型から選択できます。 - `TINYTEXT` - `TEXT` - `MEDIUMTEXT` - `LONGTEXT` - `DECIMAL` - `DECIMAL`の場合、[精度とスケール](https://dev.mysql.com/doc/refman/8.0/ja/fixed-point-types.html)も入力します。 - `DATE` - `DATETIME` - `TIMESTAMP` - `TIME` | ## 転送モードについて | モード | 方式 | 詳細 | | --- | --- | --- | | `insert` | 追記 | テーブルへの**追記**を行います。 はじめに一時テーブルを生成してそこにデータを投入し、最後に一時テーブルから転送先テーブルへのINSERTを行います。 そのため、転送が途中で失敗した際に中途半端なデータが転送先テーブルに残ることがありません。 | | `insert_direct` | 追記 | テーブルへの**追記**を行います。 一時テーブル等は作成せず、直接データを投入します。 そのため、転送が途中で失敗した際には中途半端な状態のデータが残る場合があります。 | | `truncate_insert` | 洗い替え | テーブルの**洗い替え**を行います。 はじめに一時テーブルを生成してそこにデータを投入し、 最後に一時テーブルから転送先テーブルへのINSERTを行います。なお、INSERTの直前にDELETEを行うため、洗い替えとなります。 転送先テーブルのindex情報等は維持されます。 | | `replace` | 洗い替え | テーブルの**洗い替え**を行います。 はじめに一時テーブルを生成してそこにデータを投入し、 最後に転送先テーブルと一時テーブルのテーブル名を入れ替えることで、転送を完了します。 転送先テーブルのindex情報等は失われます。 | | `merge` | `UPSERT` | テーブルの**UPSERT**を行います。 はじめに一時テーブルを生成し、そこにデータをすべて投入します。 最後に以下の様なクエリを実行し、転送先テーブルに対して ON DUPLICATE KEY UPDATE で主キーによる追記&更新を行います。 ``` INSERT INTO SELECT * FROM UNION ALL SELECT * FROM UNION ALL ... ON DUPLICATE KEY UPDATE ... ``` | | `merge_direct` | `UPSERT` | テーブルの**UPSERT**を行います。 一時テーブル等は作成せず、直接データを投入します。 転送先テーブルに対して ON DUPLICATE KEY UPDATE で主キーによる追記&更新を行います。 |