1drop table if exists t1,t2,t3; 2CREATE TABLE t2 (a int); 3INSERT INTO t2 VALUES(1),(2),(3); 4# 5# Check first syntax and wrong usage 6# 7CREATE OR REPLACE TABLE IF NOT EXISTS t1 (a int); 8ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS 9create or replace table mysql.general_log (a int); 10ERROR HY000: You cannot 'CREATE OR REPLACE' a log table if logging is enabled 11create or replace table mysql.slow_log (a int); 12ERROR HY000: You cannot 'CREATE OR REPLACE' a log table if logging is enabled 13# 14# Usage when table doesn't exist 15# 16CREATE OR REPLACE TABLE t1 (a int); 17CREATE TABLE t1 (a int); 18ERROR 42S01: Table 't1' already exists 19DROP TABLE t1; 20CREATE OR REPLACE TEMPORARY TABLE t1 (a int); 21CREATE TEMPORARY TABLE t1 (a int, b int, c int); 22ERROR 42S01: Table 't1' already exists 23DROP TEMPORARY TABLE t1; 24# 25# Testing with temporary tables 26# 27CREATE OR REPLACE TABLE t1 (a int); 28CREATE OR REPLACE TEMPORARY TABLE t1 (a int); 29CREATE OR REPLACE TEMPORARY TABLE t1 (a int, b int); 30SHOW CREATE TABLE t1; 31Table Create Table 32t1 CREATE TEMPORARY TABLE `t1` ( 33 `a` int(11) DEFAULT NULL, 34 `b` int(11) DEFAULT NULL 35) ENGINE=MyISAM DEFAULT CHARSET=latin1 36DROP TEMPORARY TABLE t1; 37SHOW CREATE TABLE t1; 38Table Create Table 39t1 CREATE TABLE `t1` ( 40 `a` int(11) DEFAULT NULL 41) ENGINE=MyISAM DEFAULT CHARSET=latin1 42DROP TABLE t1; 43create temporary table t1 (i int) engine=InnoDB; 44create or replace temporary table t1 (a int, b int) engine=InnoDB; 45create or replace temporary table t1 (j int); 46show create table t1; 47Table Create Table 48t1 CREATE TEMPORARY TABLE `t1` ( 49 `j` int(11) DEFAULT NULL 50) ENGINE=MyISAM DEFAULT CHARSET=latin1 51drop table t1; 52CREATE OR REPLACE TABLE t1 (a int); 53LOCK TABLES t1 write; 54CREATE OR REPLACE TEMPORARY TABLE t1 (a int); 55CREATE OR REPLACE TEMPORARY TABLE t1 (a int, b int); 56CREATE OR REPLACE TEMPORARY TABLE t1 (a int, b int) engine= innodb; 57CREATE OR REPLACE TEMPORARY TABLE t1 (a int) engine= innodb; 58CREATE OR REPLACE TEMPORARY TABLE t1 (a int, b int) engine=myisam; 59SHOW CREATE TABLE t1; 60Table Create Table 61t1 CREATE TEMPORARY TABLE `t1` ( 62 `a` int(11) DEFAULT NULL, 63 `b` int(11) DEFAULT NULL 64) ENGINE=MyISAM DEFAULT CHARSET=latin1 65DROP TEMPORARY TABLE t1; 66SHOW CREATE TABLE t1; 67Table Create Table 68t1 CREATE TABLE `t1` ( 69 `a` int(11) DEFAULT NULL 70) ENGINE=MyISAM DEFAULT CHARSET=latin1 71CREATE OR REPLACE TABLE t2 (a int); 72ERROR HY000: Table 't2' was not locked with LOCK TABLES 73DROP TABLE t1; 74UNLOCK TABLES; 75CREATE OR REPLACE TEMPORARY TABLE t1 (a int) SELECT * from t2; 76SELECT * FROM t1; 77a 781 792 803 81CREATE OR REPLACE TEMPORARY TABLE t1 (b int) SELECT * from t2; 82SELECT * FROM t1; 83b a 84NULL 1 85NULL 2 86NULL 3 87SHOW CREATE TABLE t1; 88Table Create Table 89t1 CREATE TEMPORARY TABLE `t1` ( 90 `b` int(11) DEFAULT NULL, 91 `a` int(11) DEFAULT NULL 92) ENGINE=MyISAM DEFAULT CHARSET=latin1 93DROP TABLE t1; 94CREATE TEMPORARY TABLE t1 AS SELECT a FROM t2; 95CREATE TEMPORARY TABLE IF NOT EXISTS t1(a int, b int) SELECT 1,2 FROM t2; 96Warnings: 97Note 1050 Table 't1' already exists 98DROP TABLE t1; 99CREATE TABLE t1 (a int); 100CREATE OR REPLACE TABLE t1 AS SELECT 1; 101SHOW CREATE TABLE t1; 102Table Create Table 103t1 CREATE TABLE `t1` ( 104 `1` int(1) NOT NULL 105) ENGINE=MyISAM DEFAULT CHARSET=latin1 106DROP TABLE t1; 107create table t1 (a int); 108create or replace table t1 as select * from t1; 109ERROR HY000: Table 't1' is specified twice, both as a target for 'CREATE' and as a separate source for data 110create or replace table t1 as select a from (select a from t1) as t3; 111ERROR HY000: Table 't1' is specified twice, both as a target for 'CREATE' and as a separate source for data 112create or replace table t1 as select a from t2 where t2.a in (select a from t1); 113ERROR HY000: Table 't1' is specified twice, both as a target for 'CREATE' and as a separate source for data 114drop table t1; 115# 116# Testing with normal tables 117# 118CREATE OR REPLACE TABLE t1 (a int); 119CREATE OR REPLACE TABLE t1 (a int, b int); 120SHOW CREATE TABLE t1; 121Table Create Table 122t1 CREATE TABLE `t1` ( 123 `a` int(11) DEFAULT NULL, 124 `b` int(11) DEFAULT NULL 125) ENGINE=MyISAM DEFAULT CHARSET=latin1 126DROP TABLE t1; 127CREATE TABLE t1 (a int) SELECT * from t2; 128SELECT * FROM t1; 129a 1301 1312 1323 133TRUNCATE TABLE t1; 134CREATE TABLE IF NOT EXISTS t1 (a int) SELECT * from t2; 135Warnings: 136Note 1050 Table 't1' already exists 137SELECT * FROM t1; 138a 139DROP TABLE t1; 140CREATE TABLE t1 (i int); 141CREATE OR REPLACE TABLE t1 AS SELECT 1; 142SHOW CREATE TABLE t1; 143Table Create Table 144t1 CREATE TABLE `t1` ( 145 `1` int(1) NOT NULL 146) ENGINE=MyISAM DEFAULT CHARSET=latin1 147DROP TABLE t1; 148CREATE OR REPLACE TABLE t1 (a int); 149LOCK TABLES t1 write,t2 write; 150CREATE OR REPLACE TABLE t1 (a int, b int); 151SELECT * FROM t1; 152a b 153INSERT INTO t1 values(1,1); 154CREATE OR REPLACE TABLE t1 (a int, b int, c int); 155INSERT INTO t1 values(1,1,1); 156CREATE OR REPLACE TABLE t3 (a int); 157ERROR HY000: Table 't3' was not locked with LOCK TABLES 158UNLOCK TABLES; 159DROP TABLE t1; 160CREATE OR REPLACE TABLE t1 (a int); 161LOCK TABLES t1 write,t2 write; 162CREATE OR REPLACE TABLE t1 (a int, b int) select a,1 from t2; 163SELECT * FROM t2; 164a 1651 1662 1673 168SELECT * FROM t1; 169b a 1 170NULL 1 1 171NULL 2 1 172NULL 3 1 173SELECT * FROM t1; 174b a 1 175NULL 1 1 176NULL 2 1 177NULL 3 1 178INSERT INTO t1 values(1,1,1); 179CREATE OR REPLACE TABLE t1 (a int, b int, c int, d int); 180INSERT INTO t1 values(1,1,1,1); 181CREATE OR REPLACE TABLE t3 (a int); 182ERROR HY000: Table 't3' was not locked with LOCK TABLES 183UNLOCK TABLES; 184DROP TABLE t1; 185CREATE OR REPLACE TABLE t1 (a int); 186LOCK TABLES t1 write,t2 write, t1 as t1_read read; 187CREATE OR REPLACE TABLE t1 (a int, b int) select a,1 from t2; 188SELECT * FROM t1; 189b a 1 190NULL 1 1 191NULL 2 1 192NULL 3 1 193SELECT * FROM t2; 194a 1951 1962 1973 198SELECT * FROM t1 as t1_read; 199ERROR HY000: Table 't1_read' was not locked with LOCK TABLES 200DROP TABLE t1; 201UNLOCK TABLES; 202CREATE OR REPLACE TABLE t1 (a int); 203LOCK TABLE t1 WRITE; 204CREATE OR REPLACE TABLE t1 AS SELECT 1; 205SELECT * from t1; 2061 2071 208SELECT * from t2; 209ERROR HY000: Table 't2' was not locked with LOCK TABLES 210DROP TABLE t1; 211# 212# Test also with InnoDB (transactional engine) 213# 214create table t1 (i int) engine=innodb; 215lock table t1 write; 216create or replace table t1 (j int); 217unlock tables; 218show create table t1; 219Table Create Table 220t1 CREATE TABLE `t1` ( 221 `j` int(11) DEFAULT NULL 222) ENGINE=MyISAM DEFAULT CHARSET=latin1 223drop table t1; 224create table t1 (i int) engine=InnoDB; 225lock table t1 write, t2 write; 226create or replace table t1 (j int) engine=innodb; 227unlock tables; 228drop table t1; 229create table t1 (i int) engine=InnoDB; 230create table t3 (i int) engine=InnoDB; 231insert into t3 values(1),(2),(3); 232create table t4 (i int) engine=InnoDB; 233insert into t4 values(1); 234lock table t1 write, t2 write, t3 write, t4 write; 235create or replace table t1 (a int, i int) engine=innodb select t2.a,t3.i from t2,t3; 236select * from t4; 237i 2381 239unlock tables; 240select * from t1 order by a,i; 241a i 2421 1 2431 2 2441 3 2452 1 2462 2 2472 3 2483 1 2493 2 2503 3 251drop table t1,t3,t4; 252# 253# Test the meta data locks are freed properly 254# 255create database mysqltest2; 256drop table if exists test.t1,mysqltest2.t2; 257Warnings: 258Note 1051 Unknown table 'test.t1,mysqltest2.t2' 259create table test.t1 (i int) engine=myisam; 260create table mysqltest2.t2 like test.t1; 261lock table test.t1 write, mysqltest2.t2 write; 262select * from information_schema.metadata_lock_info; 263THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 264# MDL_BACKUP_DDL NULL Backup lock 265# MDL_BACKUP_DML NULL Backup lock 266# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 267# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 268# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 269# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 270create or replace table test.t1; 271ERROR 42000: A table must have at least 1 column 272show tables; 273Tables_in_test 274t2 275select * from information_schema.metadata_lock_info; 276THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 277# MDL_BACKUP_DDL NULL Backup lock 278# MDL_BACKUP_DML NULL Backup lock 279# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 280# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 281# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 282create or replace table mysqltest2.t2; 283ERROR 42000: A table must have at least 1 column 284select * from information_schema.metadata_lock_info; 285THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 286create table t1 (i int); 287drop table t1; 288create table test.t1 (i int); 289create table mysqltest2.t2 like test.t1; 290lock table test.t1 write, mysqltest2.t2 write; 291select * from information_schema.metadata_lock_info; 292THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 293# MDL_BACKUP_DDL NULL Backup lock 294# MDL_BACKUP_DML NULL Backup lock 295# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 296# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 297# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 298# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 299create or replace table test.t1 (a int) select 1 as 'a', 2 as 'a'; 300ERROR 42S21: Duplicate column name 'a' 301show tables; 302Tables_in_test 303t2 304select * from information_schema.metadata_lock_info; 305THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 306# MDL_BACKUP_DDL NULL Backup lock 307# MDL_BACKUP_DML NULL Backup lock 308# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 309# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 310# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 311create or replace table mysqltest2.t2 (a int) select 1 as 'a', 2 as 'a'; 312ERROR 42S21: Duplicate column name 'a' 313select * from information_schema.metadata_lock_info; 314THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 315create table t1 (i int); 316drop table t1; 317create table test.t1 (i int) engine=innodb; 318create table mysqltest2.t2 like test.t1; 319lock table test.t1 write, mysqltest2.t2 write; 320select * from information_schema.metadata_lock_info; 321THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 322# MDL_BACKUP_DDL NULL Backup lock 323# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 324# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 325# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 326# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 327unlock tables; 328drop table test.t1,mysqltest2.t2; 329create table test.t1 (i int) engine=aria transactional=1 checksum=1; 330create table mysqltest2.t2 like test.t1; 331lock table test.t1 write, mysqltest2.t2 write; 332select * from information_schema.metadata_lock_info; 333THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 334# MDL_BACKUP_DDL NULL Backup lock 335# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2 336# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 337# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2 338# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 339unlock tables; 340drop table t1; 341create table test.t1 (i int); 342drop database mysqltest2; 343drop table test.t1; 344# 345# MDEV-23391 Server crash in close_thread_table or assertion, upon CREATE OR REPLACE TABLE under lock 346# 347create table t1 (i int); 348lock table t1 write; 349select * from information_schema.metadata_lock_info; 350THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 351# MDL_BACKUP_DDL NULL Backup lock 352# MDL_BACKUP_DML NULL Backup lock 353# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 354# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 355create or replace table t1 (a char(1)) engine=Innodb select 'foo' as a; 356ERROR 22001: Data too long for column 'a' at row 1 357show tables; 358Tables_in_test 359t2 360select * from information_schema.metadata_lock_info; 361THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 362create table t1 (i int); 363drop table t1; 364# 365# Testing CREATE .. LIKE 366# 367create or replace table t1 like t2; 368create or replace table t1 like t2; 369show create table t1; 370Table Create Table 371t1 CREATE TABLE `t1` ( 372 `a` int(11) DEFAULT NULL 373) ENGINE=MyISAM DEFAULT CHARSET=latin1 374drop table t1; 375create table t1 (b int); 376lock tables t1 write, t2 read; 377create or replace table t1 like t2; 378SELECT * FROM t1; 379a 380INSERT INTO t1 values(1); 381CREATE OR REPLACE TABLE t1 like t2; 382INSERT INTO t1 values(2); 383unlock tables; 384show create table t1; 385Table Create Table 386t1 CREATE TABLE `t1` ( 387 `a` int(11) DEFAULT NULL 388) ENGINE=MyISAM DEFAULT CHARSET=latin1 389drop table t1; 390create or replace table t1 like t2; 391create or replace table t1 like t1; 392ERROR 42000: Not unique table/alias: 't1' 393drop table t1; 394CREATE TEMPORARY TABLE t1 like t2; 395CREATE OR REPLACE TABLE t1 like t1; 396ERROR 42000: Not unique table/alias: 't1' 397CREATE OR REPLACE TABLE t1 like t1; 398ERROR 42000: Not unique table/alias: 't1' 399drop table t1; 400CREATE TEMPORARY TABLE t1 like t2; 401CREATE OR REPLACE TEMPORARY TABLE t3 like t1; 402CREATE OR REPLACE TEMPORARY TABLE t3 like t3; 403ERROR 42000: Not unique table/alias: 't3' 404drop table t1,t3; 405# 406# Test with prepared statements 407# 408prepare stmt1 from 'create or replace table t1 select * from t2'; 409execute stmt1; 410select * from t1; 411a 4121 4132 4143 415execute stmt1; 416select * from t1; 417a 4181 4192 4203 421drop table t1; 422execute stmt1; 423select * from t1; 424a 4251 4262 4273 428deallocate prepare stmt1; 429drop table t1; 430# 431# Test with views 432# 433create view t1 as select 1; 434create table if not exists t1 (a int); 435Warnings: 436Note 1050 Table 't1' already exists 437create or replace table t1 (a int); 438ERROR 42S02: 'test.t1' is a view 439drop table t1; 440ERROR 42S02: 'test.t1' is a view 441drop view t1; 442# 443# MDEV-5602 CREATE OR REPLACE obtains stricter locks than the 444# connection had before 445# 446create table t1 (a int); 447lock table t1 write, t2 read; 448select * from information_schema.metadata_lock_info; 449THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 450# MDL_BACKUP_DDL NULL Backup lock 451# MDL_BACKUP_DML NULL Backup lock 452# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 453# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 454# MDL_SHARED_READ NULL Table metadata lock test t2 455create or replace table t1 (i int); 456select * from information_schema.metadata_lock_info; 457THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 458# MDL_BACKUP_DDL NULL Backup lock 459# MDL_BACKUP_DML NULL Backup lock 460# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 461# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 462# MDL_SHARED_READ NULL Table metadata lock test t2 463create or replace table t1 like t2; 464select * from information_schema.metadata_lock_info; 465THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 466# MDL_BACKUP_DDL NULL Backup lock 467# MDL_BACKUP_DML NULL Backup lock 468# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 469# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 470# MDL_SHARED_READ NULL Table metadata lock test t2 471create or replace table t1 select 1 as f1; 472select * from information_schema.metadata_lock_info; 473THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME 474# MDL_BACKUP_DDL NULL Backup lock 475# MDL_BACKUP_DML NULL Backup lock 476# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test 477# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1 478# MDL_SHARED_READ NULL Table metadata lock test t2 479drop table t1; 480unlock tables; 481# 482# MDEV-6560 483# Assertion `! is_set() ' failed in Diagnostics_area::set_ok_status 484# 485CREATE TABLE t1 (col_int_nokey INT) ENGINE=InnoDB; 486CREATE OR REPLACE TEMPORARY TABLE tmp LIKE t1; 487LOCK TABLE t1 WRITE; 488connect con1,localhost,root,,test; 489CREATE OR REPLACE TABLE t1 LIKE tmp; 490connection default; 491KILL QUERY con_id; 492connection con1; 493ERROR 70100: Query execution was interrupted 494CREATE OR REPLACE TABLE t1 (a int); 495connection default; 496KILL QUERY con_id; 497connection con1; 498ERROR 70100: Query execution was interrupted 499disconnect con1; 500connection default; 501drop table t1; 502DROP TABLE t2; 503# 504# MDEV-10824 - Crash in CREATE OR REPLACE TABLE t1 AS SELECT spfunc() 505# 506CREATE TABLE t1(a INT); 507CREATE FUNCTION f1() RETURNS VARCHAR(16383) RETURN 'test'; 508CREATE OR REPLACE TABLE t1 AS SELECT f1(); 509LOCK TABLE t1 WRITE; 510CREATE OR REPLACE TABLE t1 AS SELECT f1(); 511UNLOCK TABLES; 512DROP FUNCTION f1; 513DROP TABLE t1; 514# 515# MDEV-11129 516# CREATE OR REPLACE TABLE t1 AS SELECT spfunc() crashes if spfunc() 517# references t1 518# 519CREATE OR REPLACE TABLE t1(a INT); 520CREATE FUNCTION f1() RETURNS VARCHAR(16383) 521BEGIN 522INSERT INTO t1 VALUES(1); 523RETURN 'test'; 524END; 525$$ 526CREATE OR REPLACE TABLE t1 AS SELECT f1(); 527ERROR HY000: Table 't1' is specified twice, both as a target for 'CREATE' and as a separate source for data 528LOCK TABLE t1 WRITE; 529CREATE OR REPLACE TABLE t1 AS SELECT f1(); 530ERROR HY000: Table 't1' was not locked with LOCK TABLES 531UNLOCK TABLES; 532DROP FUNCTION f1; 533DROP TABLE t1; 534# 535# MDEV-14410 - Assertion `table->pos_in_locked_tables == __null || 536# table->pos_in_locked_tables->table == table' failed in 537# mark_used_tables_as_free_for_reuse 538# 539CREATE TABLE t1 (a INT); 540CREATE TABLE t2 (b INT); 541CREATE TABLE t3 (c INT); 542CREATE TRIGGER tr1 BEFORE INSERT ON t3 FOR EACH ROW INSERT INTO t1 VALUES (); 543CREATE TRIGGER tr2 BEFORE INSERT ON t2 FOR EACH ROW INSERT INTO t3 SELECT * FROM t1; 544LOCK TABLE t1 WRITE, t2 WRITE; 545CREATE OR REPLACE TABLE t1 (i INT); 546UNLOCK TABLES; 547INSERT INTO t2 VALUES (1); 548DROP TABLE t1, t2, t3; 549# 550# MDEV-11071 - Assertion `thd->transaction.stmt.is_empty()' failed in 551# Locked_tables_list::unlock_locked_tables 552# 553CREATE TEMPORARY TABLE t1(a INT) ENGINE=InnoDB; 554CREATE TEMPORARY TABLE t2(a INT); 555CREATE TABLE t3(a INT); 556LOCK TABLE t2 WRITE; 557SELECT * FROM t2; 558a 559CREATE OR REPLACE TEMPORARY TABLE t1(c INT DEFAULT ''); 560ERROR 42000: Invalid default value for 'c' 561SELECT * FROM t3; 562ERROR HY000: Table 't3' was not locked with LOCK TABLES 563CREATE OR REPLACE TEMPORARY TABLE t2(c INT DEFAULT ''); 564ERROR 42000: Invalid default value for 'c' 565SELECT * FROM t3; 566ERROR HY000: Table 't3' was not locked with LOCK TABLES 567UNLOCK TABLES; 568DROP TABLE t3; 569# End of 10.4 tests 570