MySQLでENUMデータ型を使用していますが、値を再入力する必要はありません。 MySQLで型を定義するC、C++の方法と同等のものがありますか?MySQLでENUM変数型を作成する
私は、次の操作を行いたいと思います:
DEFINE ETYPE ENUM('a','b','c','d');
CREATE TABLE Table_1 (item1 ETYPE, item2 ETYPE);
これは可能ですか?
おかげ
MySQLでENUMデータ型を使用していますが、値を再入力する必要はありません。 MySQLで型を定義するC、C++の方法と同等のものがありますか?MySQLでENUM変数型を作成する
私は、次の操作を行いたいと思います:
DEFINE ETYPE ENUM('a','b','c','d');
CREATE TABLE Table_1 (item1 ETYPE, item2 ETYPE);
これは可能ですか?
おかげ
号MySQLは、例えば、PostgreSQLのdoesをCREATE DOMAIN
又はCREATE TYPE
などをサポートしていません。
おそらくすべての名前を再度入力する必要があります。コピー&貼り付け、またはSQLスクリプトを使用して、これを行うために必要な作業を軽減できます。
INFORMATION_SCHEMA
テーブルを使用してENUM定義のテキストを取得し、それを新しいCREATE TABLE
ステートメントに挿入することもできます。
CREATE TABLE AS
をクリエイティブな方法で使用して、タイプ定義をコピーすることもできます。ここではデモンストレーションです:
CREATE TABLE foo (f ENUM('abc', 'xyz'));
CREATE TABLE bar AS SELECT f AS b FROM foo;
SHOW CREATE TABLE bar;
出力:
CREATE TABLE `bar` (
`b` enum('abc','xyz') default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
最後に、私はあなたのENUMは、私は推測しているた(これに多くの値を持っている場合は、解決策を探しているので、真実であることを示唆していますそれらを入力しないでください)、ENUMデータタイプの代わりにルックアップテーブルを使用しているはずです。