-- source include/have_innodb.inc --disable_warnings drop table if exists t1.t2; --enable_warnings # # Test of behaviour with CREATE ... SELECT # set storage_engine=innodb; CREATE TABLE t1 (a int, b int); insert into t1 values (1,1),(1,2); --error 1062 CREATE TABLE t2 (primary key (a)) select * from t1; # This should give warning drop table if exists t2; --error 1062 CREATE TEMPORARY TABLE t2 (primary key (a)) select * from t1; # This should give warning drop table if exists t2; CREATE TABLE t2 (a int, b int, primary key (a)); BEGIN; INSERT INTO t2 values(100,100); --error 1062 CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; SELECT * from t2; ROLLBACK; SELECT * from t2; TRUNCATE table t2; --error 1062 INSERT INTO t2 select * from t1; SELECT * from t2; drop table t2; CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)); BEGIN; INSERT INTO t2 values(100,100); --error 1062 CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; SELECT * from t2; COMMIT; BEGIN; INSERT INTO t2 values(101,101); --error 1062 CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; SELECT * from t2; ROLLBACK; SELECT * from t2; TRUNCATE table t2; --error 1062 INSERT INTO t2 select * from t1; SELECT * from t2; drop table t1,t2;