|
DROP TABLE IF EXISTS t1;
|
CREATE TABLE t1 (a ENUM('a'));
|
SHOW CREATE TABLE t1;
|
DROP TABLE IF EXISTS t2;
|
CREATE TABLE t2 AS SELECT COALESCE(a,NULL) FROM t1;
|
SHOW CREATE TABLE t2;
|
+-------+---------------------------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+---------------------------------------------------------------------------------------------------------+
|
| t2 | CREATE TABLE `t2` (
|
`COALESCE(a,NULL)` varchar(1) DEFAULT NULL
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
|
+-------+---------------------------------------------------------------------------------------------------------+
|
DROP TABLE IF EXISTS t2;
|
CREATE TABLE t2 AS SELECT a FROM t1 UNION SELECT NULL;
|
SHOW CREATE TABLE t2;
|
+-------+-----------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+-----------------------------------------------------------------------------------------+
|
| t2 | CREATE TABLE `t2` (
|
`a` enum('a') DEFAULT NULL
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
|
+-------+-----------------------------------------------------------------------------------------+
|
Notice, it creates a ENUM column with UNION and a VARCHAR column with COALESCE.
It would be nice to have the same data type in both cases.
|