这是我的 SQL:
UPDATE seg_guidesdata
SET cash_box=(cash_box-(425,0))
WHERE idseg_guidesdata=(SELECT fk_guidedata FROM users WHERE idusers=180);
很简单,但是我得到了错误
#1241 - Operand should contain 1 column(s).
我明白错误的意思,但我不知道为什么会出现在这里。子查询实际上返回 1 行 1 列。我查了一下:
子查询的 PHPMyAdmin 返回:
那么,有人知道为什么我会收到此错误吗?
谢谢
最佳答案
SQL 查询中文字的小数点分隔符是点 (.
),与任何语言环境或格式设置无关。因此,您必须将数字 425,0 表示为 425.0
:
UPDATE ... SET cash_box=(cash_box-(425.0)) WHERE ...
错误消息来自被解释为列分隔符的逗号,这使得 (425,0)
看起来像是两列。
关于MySQL 错误 #1241,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49789306/