No. MySQL does not support CREATE DOMAIN
or CREATE TYPE
as, for example, PostgreSQL does.
You'll probably have to enter all the names again. You can mitigate the work it takes to do this by using copy & paste, or SQL scripts.
You could also use the INFORMATION_SCHEMA
tables to get the text of the ENUM definition, and then interpolate that into a new CREATE TABLE
statement.
You can also use CREATE TABLE AS
in creative ways to copy a type definition. Here's a demonstration:
CREATE TABLE foo ( f ENUM('abc', 'xyz') );
CREATE TABLE bar AS SELECT f AS b FROM foo;
SHOW CREATE TABLE bar;
Outputs:
CREATE TABLE `bar` (
`b` enum('abc','xyz') default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Finally, I suggest that if your ENUM has many values in it (which I'm guessing is true since you're looking for a solution to avoid typing them), you should probably be using a lookup table instead of the ENUM data type.