gpt4 book ai didi

php - 如何在 MySQL 中使用用户定义的变量?

转载 作者:搜寻专家 更新时间:2023-10-31 21:35:16 24 4
gpt4 key购买 nike

我有一个改编自 Rank function in MySQL 的 sql 查询我想将它与 Doctrine 一起使用。
系统似乎不喜欢我的查询,我不知道从哪里开始修复它。

这个查询在 MySQL 本身中运行良好,当我将它与 Doctrine 一起使用时,我得到一个语法错误。

SELECT    l.*,
@points:=l.playerPoints + l.organisationPoints,
@curRank := if(@points <> @lastPoints, @curRank + 1, @curRank) AS rank,
@lastPoints:= @points as points
FROM leaderboard l, (SELECT @curRank := 0) r, (SELECT @lastPoints := 0) lp, (SELECT @points := 0) p
ORDER BY l.playerPoints + l.organisationPoints DESC;

[Syntax Error] line 0, col 10: Error: Expected IdentificationVariable | ScalarExpression | AggregateExpression | FunctionDeclaration | PartialObjectExpression | "(" Subselect ")" | CaseExpression, got '@'

我正在使用以下 PHP 代码:

$EntityManager->createQuery(...);

是否可以用 Doctrine 2 来处理这个问题?
原则 1(MySQL User defined variable within Doctrine and Symfony)似乎是可能的。

最佳答案

EntityManager::createQuery 用于 DQL 查询,我认为 Native SQL是您所需要的(允许您执行任意查询并将结果映射到学说实体)。

关于php - 如何在 MySQL 中使用用户定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21614137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com