Mysql 非常简单的更新查询不起作用

Mysql 非常简单的更新查询不起作用,mysql,Mysql,从SQL开始,我尝试做一个简单的UPDATE语句。但由于某种原因,它不起作用。代码如下 更新击球设置BA=(h/ab) 运行后,返回一个零除错误 无论何时我使用一个简单的select语句和这个公式,它都可以很好地工作。我需要做什么?您会得到该错误,因为某些记录的ab值为0。要跳过这些记录,您可以使用带有update的CASE语句,例如: UPDATE batting SET BA = CASE WHEN ab = 0 THEN BA

从SQL开始,我尝试做一个简单的UPDATE语句。但由于某种原因,它不起作用。代码如下

更新击球设置BA=(h/ab)

运行后,返回一个零除错误


无论何时我使用一个简单的select语句和这个公式,它都可以很好地工作。我需要做什么?

您会得到该错误,因为某些记录的ab值为0。要跳过这些记录,您可以使用带有update的
CASE
语句,例如:

UPDATE batting   
SET BA = CASE  
             WHEN ab = 0 THEN BA
             ELSE h/ab
         END 
WHERE //condition

Lahman棒球数据库中h和ab?击球和at击球的数据类型。这不是我自己的数据库。如果我的答案对您有帮助,您可以将其视为正确答案:)这也可以写成
更新击球设置ba=if(ab=0;ba;h/ab),其中…
(请参阅)。是的,@saberfan7,请给Darshan积分。哦,没问题@Darshan。我点击了复选标记,是吗?是的,@saberfan7。如果你发现他的答案有用(也不只是最好的答案),你也可以考虑上箭头。用鼠标挠痒痒图标,看看它们是什么意思。;-)