如何删除MySQL中名为trigger的表?执行drop table trigger报错怎么解决
MySQL删除保留关键字命名的表的正确方法
trigger属于MySQL的内置保留关键字,直接作为表名写入SQL语句时,会被解析器识别为触发器相关的语法标识,从而触发语法错误。
正确的删除操作有两种方案:
- 使用MySQL专属的反引号(
)包裹表名转义标识符,执行语句如下: ``DROP TABLEtrigger`;`` - 如果你的数据库环境开启了
ANSI_QUOTESSQL模式,也可以用双引号包裹表名完成转义:- 先确认当前SQL模式配置:
SHOW VARIABLES LIKE 'sql_mode'; - 若配置中包含
ANSI_QUOTES,执行语句:DROP TABLE "trigger";
- 先确认当前SQL模式配置:
建议日常开发中不要使用数据库保留关键字作为表名、字段名、索引名等自定义标识符,避免额外的转义处理和潜在的语法问题。
内容的提问来源于stack exchange,提问作者Pätsn
相关产品推荐
相关产品推荐

