Doctrine 2 DQL 中的数字别名

Numeric alias in Doctrine 2 DQL

我需要在 DQL 中的 Select 中使用数字别名: SELECT c.id, dsv63.name AS 102
但在那之后我得到一个错误:

[Syntax Error] line 0, col 423: Error: Expected Doctrine\ORM\Query\Lexer::T_FROM, got '102'

这不是 Doctrine2 问题,您不能在 MySQL 中使用整数作为名称。

也有 table 的保留名称,例如,您不能将 table 命名为 where,因为 SELECT * FROM foo AS where 会引发异常。

你可以做的是在前面加上一个字符,例如

SELECT c.id, dsv63.name AS _102

或引用

SELECT c.id, dsv64.name AS '102'