专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
今天看啥  ›  专栏  ›  阿里云开发者

select `*` from table 语法居然不报错?

阿里云开发者  · 公众号  · 科技公司  · 2025-02-25 18:03
    

文章预览

阿里妹导读 从数据库基础的对照测试实验入手,一点点分析数据库的异常行为,降低DBA/运维对于bug分析的难度,也不需要一些诸如strace/jstack/gdb等分析工具,好的技术需要用好方法,能力有限,欢迎指点。 一、前言 在MySQL中,反引号 ` 实际上是用来引用数据库对象的名称,如表名、列名等,以区分MySQL的保留关键字和特殊字符。而星号 * 用作通配符,它不需要用反引号引用。下面语句的反引号 ` 通常用于引用标识符,不适用于表中所有列输出,在标准的MySQL中,这实际上会产生一个错误,因为没有列名为 * 的列。 select `*` from table; 但是在客户的数据库中,该SQL却执行成功了,但是我在另外一台测试数据库中,却是报错,理论上报错是符合预期的,那客户的数据库是怎么回事呢? 这里不建议大家关注业务影响,这个问题可大可小,主要是兴趣所致分 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览