我正在尝试运行一些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
然后代码开始工作。但是,这两行对我的功能都很重要。
这不是其他问题的重复,因为情况不同。
答案 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