命令不同步;错误毫无意义

时间:2015-07-24 18:45:24

标签: mysql

我正在尝试运行一些MySQL代码......

SELECT *,
    event_players - event_claimed AS event_unclaimed
FROM EWRtorneo_events
WHERE event_state = 'visible' AND league_id = 1
    ORDER BY event_date DESC, event_name DESC

当我运行此代码时,出现以下错误:

  

#2014 - 命令不同步;你现在不能运行这个命令

现在,当搜索结果中包含event_players列等于0的行时,此错误才会显示。这个错误意味着什么?

如果我删除:

  • event_players - event_claimed AS event_unclaimed
  • ORDER BY event_date DESC, event_name DESC

然后代码开始工作。但是,这两行对我的功能都很重要。

这不是其他问题的重复,因为情况不同。

1 个答案:

答案 0 :(得分:0)

我想通了......如果MySQL中的减法语句中的任何一个变量都是无符号整数,那么结果也必须始终是无符号整数。如果某个实例的结果可能为负数,则该命令将失败。

我通过将变量转换为signed:

来解决这个问题
SELECT *,
    CAST(event_players AS SIGNED) - CAST(event_claimed AS SIGNED) AS event_unclaimed
FROM EWRtorneo_events
WHERE event_state = 'visible' AND league_id = 1
    ORDER BY event_date DESC, event_name DESC