暂无图片
mysql同名表,为什么会删除myisam的表而不是删除innodb的表?
最近更新:2023-08-29 17:11:04

现象描述

有一个DBA遇到一个选择题,在知道答案后,苦苦想不明白,彻夜未眠: 在MySQL中,同一个会话里面,创建两张表create table t(id int primary key) engine=innodb;create temporary table t(id int) engine=myisam; 请问执行drop table t;会删除哪张表? A、执行报错,Unknown table t B、表被全部删除 C、删除innodb引擎的表 D、删除myisam引擎的表

答案是D

为什么会删除myisam的表而不是删除innodb的表?? 为了验证这个问题,我们弄个环境测试一下

测试验证

1.创建两个同名表

1)创建普通表

mysql> create table t(id int primary key) engine=innodb;
Query OK, 0 rows affected (5.01 sec)myisam
......