CREATE TABLE Statement Because the ordering of the rows in the underlying  SELECT  statements cannot always be determined, CREATE TABLE ... IGNORE SELECT  and  CREATE TABLE ... REPLACE SELECT  statements are flagged as unsafe for statement-based replication. Such statements produce a warning in the error log when using statement-based mode and are written to the binary log using the row-based format when using  MIXED  mode. See also Section 17.2.1.1, “Advantages and Disadvantages of Statement-Based and Row-Based Replication” . CREATE TABLE ... SELECT  does not automatically create any indexes for you. This is done intentionally to make the statement as flexible as possible. If you want to have indexes in the created table, you should specify these before the  SELECT  statement: mysql>  CREATE TABLE bar (UNIQUE (n)) SELECT n FROM foo; For  CREATE TABLE ... SELECT , the destination table does not preserve information about whether columns in the selected-from table are generated columns. The  SELECT  part of the statement cannot assign values to generated columns in the destination table. For  CREATE TABLE ... SELECT , the destination table does preserve expression default values from the original table. Some conversion of data types might occur. For example, the  AUTO_INCREMENT  attribute is not preserved, and  VARCHAR  columns can become  CHAR  columns. Retrained attributes are  NULL  (or  NOT NULL ) and, for those columns that have them,  CHARACTER SET ,  COLLATION ,  COMMENT , and the DEFAULT  clause. When creating a table with  CREATE TABLE ... SELECT , make sure to alias any function calls or expressions in the query. If you do not, the  CREATE  statement might fail or result in undesirable column names. CREATE TABLE artists_and_works 2573 mysql>  TABLE t1; +----+----+ | a | b | +----+----+ | 1 | 2 | | 6 | 7 | | 10 | -4 | | 14 | 6 | +----+----+ mysql>  CREATE TABLE tt1 TABLE t1; mysql>  TABLE tt1; +----+----+ | a | b | +----+----+ | 1 | 2 | | 6 | 7 | | 10 | -4 | | 14 | 6 | +----+----+ mysql>  CREATE TABLE tt2 (x INT) TABLE t1; mysql>  TABLE tt2; +------+----+----+ | x | a | b | +------+----+----+ | NULL | 1 | 2 | | NULL | 6 | 7 | | NULL | 10 | -4 | | NULL | 14 | 6 | +------+----+----+