tencent cloud

Data Transfer Service

データベース・テーブル列のリネーム

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 17:47:29
AI翻訳・品質チェック済み

操作シナリオ

データベース・テーブル・列の名前変更は、データベース・テーブル・列のマッピングとも呼ばれます。データ同期シナリオにおいて、ユーザーは名前変更機能を使用して、ターゲットデータベースに同期されるデータベース、テーブル、列の名前を変更できます。これにより、ソースデータベースとターゲットデータベース内のデータベース、テーブル、列が同じ名前であることによる競合を回避できます。
単一のデータベース、テーブル、列オブジェクトの名前変更をサポートしています。同時に、データベースとテーブルに対しては、一括名前変更もサポートしています。一括名前変更では、プレフィックス/サフィックスの追加、統一的な名前変更、キーワードの置換という3つの方法をサポートしています。

利用範囲

データベース・テーブルの名前変更:MySQL/MariaDB/Percona/TDSQL-C MySQL/TDSQL MySQL/TDSQL Boundless間のデータ同期リンク。
列の名前変更:MySQL/MariaDB/Percona/TDSQL-C MySQL間のデータ同期リンク。

注意事項

1. 一括名前変更機能で統一的な名前変更を選択した場合、一貫性の検証結果が不一致になる可能性があります。ユーザー自身でデータ検証を行う必要があります。
2. 同期設定を変更する際、新しく追加されたデータベース・テーブルオブジェクトに対してのみ名前変更操作がサポートされます。以前に選択されたデータベース・テーブルオブジェクトは、この時点で名前変更を行うことはできません。ユーザーが同期設定の変更中に、同時に以前のオブジェクトに対して名前変更操作を行った場合、システムは検証段階でエラーを報告します。ユーザーは以前の名前に戻す必要があります。
3. 多対一同期シナリオの注意事項。
一括統一リネーム機能を使用した後、タスク詳細で、コンソールに構造初期化状態が失敗したと表示される場合があります。このエラーは無視できます。エラーは、ターゲットデータベースにすでにそのテーブルの構造情報が存在することが原因です。その後のそのテーブルのデータ更新は正常に同期され、ユーザーの利用には影響しません。
タスク検証段階で、検証項目の「ターゲットインスタンス内容競合チェック」でエラーが報告されます。この問題は無視できます。ユーザーはチケットを提出してください。バックエンド担当者がこの検証項目をスキップします。
4. 列名の名前変更の制約は以下の通りです:
4.1 列の名前変更を行った後、同期設定の再変更はサポートされません。同期設定を変更する際も、列の名前変更はサポートされません。
4.2 MySQLは、Index、主キー、一意キーを作成する際に、明示的なキー名が設定されていない場合はデフォルト値が付与されます。ユーザーがIndexを含む列、主キー列、一意キー列の名前を変更した場合、ソース側とターゲット側でキー名が一致しない状況が発生する可能性があります。
4.3 列の名前変更とビューの相互作用に関する制約は以下の通りです:
同期ビューを選択し、ビュー関連の列の名前を変更する場合、ソース側のcreate viewは<table_name>.<column_name>のテーブル名+列の構文のみをサポートします。<column_name>のような列のみでテーブル名がない構文はサポートされません。列のみの構文が発生した場合、タスクがエラーを報告する可能性があります。
サポートされるテーブル名+列の構文例:「create view <view_name> as select <table_name>.<column_name> from <table_name>」。
同期ビューを選択し、その後ソースデータベースがビューを作成する際に関連付けるのがシステムデータベース・テーブルである場合、同期タスクで同時に列の名前変更を使用することはできません。そうしないと、タスクがエラーを報告します。
4.4 テーブルAのX列の名前を変更した場合、ユーザーがソース側でCREATE TABLE table_B like table_A文を実行する際には、テーブルBのX列にも同じ名前変更ルールを設定することをお勧めします。このシナリオでは、DTSによるテーブルBの同期は、テーブルAの列の名前変更後のテーブル構造に従って行われます。テーブルBのX列に対して同じ名前変更を行っていない場合、その後ソース側でテーブルBのX列のデータを更新する際に、DTSタスクがエラーを報告します。
4.5 テーブルオブジェクト内の一意キー列に関数が含まれている場合、同期オブジェクトでそのテーブルを選択した際に、列の次元まで展開できず、列の名前変更は実行できません。
4.6 データのみを同期し、テーブル構造を同期しないシナリオでは、ユーザーはDTSタスクの前に、ターゲット側で同じテーブル構造を作成する必要があります。タスクで列の名前変更も設定する必要がある場合、ユーザーがターゲット側で作成するテーブル構造は、列の名前変更後のテーブル構造である必要があります。そうしないと、ターゲット側への同期時にエラーが発生する可能性があります。

単一データベース・テーブル・列のリネーム

1. DTSコンソールにログインし、左側のナビゲーションでデータ同期ページを選択し、同期タスクを作成します。
2. 「同期オプションと同期オブジェクトの設定」ステップで、同期オブジェクト選択の右側にある「選択済みオブジェクト」内で、変更するオブジェクトにマウスを重ねると、編集ボタンが表示されます。



3. 単一のテーブルまたは列の名前を変更する際に、右側の編集ボタンが表示されない場合、データベース全体またはテーブル全体の同期が選択されている可能性があります。
説明:
同期オブジェクトにおいて、データベース全体の同期またはテーブル全体の同期を選択した場合、指定したテーブルの名前を変更することはできません。複数のテーブルを一つずつ選択して右側に移動することで、初めて単一のテーブルの名前を変更できます。例は以下の通りです。
同様に、テーブル全体の同期を選択した場合、単一の列の名前を変更することはできません。複数の列を一つずつ選択して右側に移動することで、初めて単一の列の名前を変更できます。


4. 表示されたダイアログボックスで、オブジェクトの名前を変更し、確定をクリックします。
データベース名マッピング:表示されたダイアログボックスで、このデータベースのターゲットインスタンスにおける名前を設定します。

テーブル名マッピング:表示されたダイアログボックスで、このデータテーブルのターゲットインスタンスにおける名前を設定します。

列名マッピング:表示されたダイアログボックスで、この列のターゲットインスタンスにおける名前を設定します。


一括リネーム

データベースとテーブルの名前変更は、一括操作をサポートしています。
1. DTSコンソールにログインし、左側のナビゲーションでデータ同期ページを選択し、同期タスクを作成します。
2. 「同期オプションと同期オブジェクトの設定」ステップで、同期オブジェクトを選択した後、選択済みオブジェクトの右側にある一括名前変更をクリックします。

3. 一括名前変更ルールを設定し、完了後に確定をクリックします。
名前変更範囲:
選択したすべてのデータベース・テーブル:一括名前変更範囲は同期オブジェクトで選択されたすべてのデータベースとテーブルです。
選択したすべてのデータベース:一括名前変更範囲は同期オブジェクトで選択されたすべてのデータベースです。
選択したすべてのテーブル:一括名前変更範囲は同期オブジェクトで選択されたすべてのテーブルです。
名前変更ルール:
プレフィックス/サフィックスを追加

統一リネーム:選択したオブジェクトを統一的に命名します。複数のテーブルを1つに統合するシーンに適用されます。複数のソースのテーブルデータをターゲット側に同期する際に、PK競合が発生しないようにしてください。

キーワードの置換:選択したオブジェクト名のキーワードを統一的に置換します。オブジェクト名に複数のキーワードが含まれている場合、最初にマッチしたキーワードにのみ適用されます。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック