私はいくつかのデータベースのことをしています、1つのテーブルを1つのモデルから別のモデルにコピーする必要がありますが、効果がない多くの方法を試します。これを行う方法はありますか?
最善のオプションは、おそらく、持ち越したいオブジェクトを含むモデルの簡略バージョンを作成することです。次に、ターゲットモデルを開き、File -> Include Model...
を実行します。削除されたソースモデルを選択します。
MySQL Workbenchを介して単一のテーブルを実行する場合。
MySQL Workbenchの場合:
以下のような、テーブルの作成ステートメントがクリップボードにコピーされます。
CREATE TABLE `cache` (
`cid` varchar(255) NOT NULL DEFAULT '',
`data` longblob,
`expire` int(11) NOT NULL DEFAULT '0',
`created` int(11) NOT NULL DEFAULT '0',
`headers` text,
`serialized` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
新しいデータベースにテーブルを作成します
テーブルを作成するデータベースを含めるようにテーブル作成コードを変更します。
CREATE TABLE `databaseName`.`cache` (
`cid` varchar(255) NOT NULL DEFAULT '',
`data` longblob,
`expire` int(11) NOT NULL DEFAULT '0',
`created` int(11) NOT NULL DEFAULT '0',
`headers` text,
`serialized` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
次に、実行ボタンをクリックします(稲妻のように見えます)
これにより、MySQLワークベンチを使用して、テーブルスキーマが1つのdbから別のdbにコピーされます。データベース内のテーブルを更新するだけで、新しく追加されたテーブルが表示されるはずです。
言及する価値があると思う
.m_property_natureのようなテーブル.m_property_natureを作成します。
INSERT INTO .m_property_nature SELECT * from .m_property_nature;
テーブル情報からクレートテーブルクエリを取得し、異なるデータベースインスタンスで同じクエリを使用できます。
Selectステートメントを使用するだけです。ここでは、「original_schema」スキーマ/データベースから「new_schema」スキーマへの「original_table」テーブルの複製を作成しています。
CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;
必要なselectステートメントを追加し、条件を追加して列を選択するだけです。
CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2
FROM original_schema.original_table
WHERE column2 < 11000000;
既にテーブルを作成していて、データをコピーするだけの場合は、「データのエクスポートウィザード」と「データのインポートウィザード」を使用することをお勧めします。基本的には、データをエクスポートしてインポートするためにプログラム内のものを選択することであり、使いやすいです。
MySQLには、ウィザードに関する記事があります。 テーブルデータのエクスポートおよびインポートウィザード
ウィザードを使用してデータをコピーするには、次の手順を実行します。
コピーしたデータとともに* .csvまたは* .jsonファイルを保存する場所を選択します。
コピーしたデータを挿入するテーブルを見つけます。