MySQL 5.7发布说明
删除临时表[如果存在]tbl_name.(,tbl_name.] ...... [限制|级联]
小心这句话!对于每个表,它将删除表定义和所有表数据。如果表被分区,该语句将删除表定义、表的所有分区、存储在这些分区中的所有数据,以及与被删除表关联的所有分区定义。
删除桌子也会丢弃表格的任何触发器。
下拉表
导致隐式提交,除非与临时
关键字。看章节13.3.3,“导致隐式提交的语句”。
重要的
删除表时,专门为表授予的权限是不自动掉落。他们必须手动掉落。看第13.7.1.4节“赠款陈述”。
如果在参数列表中命名的任何表不存在,下拉表
行为取决于是否如果存在
条款是给出的:
没有
如果存在
该语句删除了所有命名的表,该表确实存在,并返回一个错误,指示它无法删除的不存在表格的错误。和
如果存在
,对于不存在的表不会发生错误。语句删除所有存在的已命名表,并生成请注意
对每个不存在的表进行诊断。这些笔记可以用显示警告
。看第13.7.5.40节,“显示警告声明”。
如果存在
对删除表格的删除表格也很有用.frm
由存储引擎管理的文件,但没有表。(例如,从存储引擎移除表后,服务器异常退出.frm
删除文件。)
这临时
关键字具有以下效果:
语句只删除
临时
表。该语句不会导致隐式提交。
不检查访问权限。一个
临时
Table只在创建它的会话中可见,所以不需要检查。
包括临时
关键字是防止意外丢弃的好方法临时
表。
这限制
和级联
关键字无关。它们被允许从其他数据库系统中更轻松地进行移植。
下拉表
所有人都不支持Innodb_Force_Recovery.
设置。看第14.22.2节“强制innodb恢复”。