mysqli_query($tradeL,"UPDATE openor SET cur2 = CASE
WHEN $val1e<cur2 THEN cur2-$val1e
WHEN $val1e>cur2 THEN $val1e-cur2
WHEN $val1e=cur2 THEN '0'
ELSE cur2
WHERE id='2' END");
给出以下错误
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第7行'WHERE id ='2'END'附近
我只是看不出错误。
答案 0 :(得分:0)
您需要先结束案例,然后使用where子句
UPDATE openor
SET cur2 = CASE
WHEN $val1e<cur2 THEN cur2-$val1e
WHEN $val1e>cur2 THEN $val1e-cur2
WHEN $val1e=cur2 THEN '0'
ELSE cur2 END
WHERE id='2'
您也可以跳过其他部分
UPDATE openor
SET cur2 = CASE
WHEN $val1e<cur2 THEN cur2-$val1e
WHEN $val1e>cur2 THEN $val1e-cur2
WHEN $val1e=cur2 THEN '0'
END
WHERE id='2'
答案 1 :(得分:0)
为什么过于复杂的东西?只需使用MySQL的ABS()
函数:
UPDATE openor SET cur2 = ABS(cur2 - $val1e) WHERE id = 2