MySQL中const关键字的官方文档位置及用法技术咨询
MySQL中
const的说明 首先得澄清一个关键点:在MySQL里,const并不是官方定义的特殊关键字——这也是你在官方文档里找不到专门解释的原因。
你给出的查询里,const只是子查询结果集的普通别名,和给表起别名(比如login l里的l)逻辑完全一致,没有任何特殊语法含义:
SELECT * FROM `login` l cross join (select ? as thename) const WHERE l.`username` = thename OR `emailAddress` = thename;
这里的const仅仅是给括号里的子查询(生成了一个包含单个参数值的临时结果集)起的名字,你完全可以把它换成任意合法的标识符,比如temp_sub,查询功能不会有任何变化:
SELECT * FROM `login` l cross join (select ? as thename) temp_sub WHERE l.`username` = thename OR `emailAddress` = thename;
另外需要区分一个容易混淆的点:MySQL的查询优化器里确实有const这个术语(比如执行计划的type字段会显示const),它表示查询通过主键/唯一索引直接匹配到单行数据,属于一种高效的访问类型,但这和你示例里作为别名的const是完全不相关的两个概念。
内容的提问来源于stack exchange,提问作者Dharman
相关产品推荐
相关产品推荐

