少なくともコミュニティ版では、そのようなオプションも見つかりません。
これは、 リバースエンジニアリングに対応していると思います。 a> この機能は、残念ながら、商用版でのみ利用可能です(引用) :
それでも、plain-SQLを使用してcreate table
を取得できます テーブルを作成できるようにする命令。
たとえば、次のクエリ:
show create table url_alias;
drupalデータベースで実行すると、右click > copy field content
を使用すると次のようになります。 結果について:
'CREATE TABLE `url_alias` (
`pid` int(10) unsigned NOT NULL auto_increment,
`src` varchar(128) NOT NULL default '''',
`dst` varchar(128) NOT NULL default '''',
`language` varchar(12) NOT NULL default '''',
PRIMARY KEY (`pid`),
UNIQUE KEY `dst_language` (`dst`,`language`),
KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'
残念ながら(再び) 、MySQL Workbenchは、この方法でコピーすると、どこにでも引用符を追加します:-(
編集:MySQL 8.0を使用して、右click > copy field (unquoted)
のオプションがあります 結果を引用符なしで取得します。
最後に、最も単純な 解決策は、MySQLクエリブラウザを使用する場合を除いて、コマンドラインクライアントを使用してデータベースに接続し、show create table
を実行することです。 そこからのクエリ:
mysql> show create table url_alias\G
*************************** 1. row ***************************
Table: url_alias
Create Table: CREATE TABLE `url_alias` (
`pid` int(10) unsigned NOT NULL auto_increment,
`src` varchar(128) NOT NULL default '',
`dst` varchar(128) NOT NULL default '',
`language` varchar(12) NOT NULL default '',
PRIMARY KEY (`pid`),
UNIQUE KEY `dst_language` (`dst`,`language`),
KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
「適切な部分」を取得する 「出力の方が簡単です。削除する見積もりはありません。
また、完全を期すために、mysqldump
を使用することもできます。 テーブルの構造を取得するには:
mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME
--no-data
を使用する スイッチを押すと、構造が-いくつかのモード設定とそのすべての途中でのみ取得されます 。