---
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 <target_table> SELECT * FROM <intermediate_table_1> UNION ALL SELECT * FROM <intermediate_table_2> UNION ALL ... ON DUPLICATE KEY UPDATE ... ``` |
| `merge_direct` | `UPSERT` | テーブルの**UPSERT**を行います。 一時テーブル等は作成せず、直接データを投入します。 転送先テーブルに対して ON DUPLICATE KEY UPDATE で主キーによる追記&更新を行います。 |
