Mysql

執行更新查詢 MySQL 時除以 0 錯誤

  • November 16, 2021

我正在嘗試在表中執行更新,我得到一個**“Error Code: 1365. Division by 0”**。我使用的 sql 命令是:

SET @@autocommit = 0;
start transaction;
update XE_General
join Locations
on XE_General.url_location = Locations.url_location
set 
XE_General.neighborhood = Locations.neighborhood_GR,
XE_General.municipality = Locations.municipality_GR,
XE_General.zipcode = Locations.zipcode 
where XE_General.zipcode is null
and XE_General.neighborhood is null
and XE_General.municipality is null;

我不在查詢中的任何地方使用除法,並且我檢查了滿足 where 條件的行確實存在。

此錯誤的原因可能是什麼?提前感謝您的任何建議。

如果您有一個生成的列STORED,那麼

插入或更新行時會評估和儲存列值。儲存列確實需要儲存空間並且可以被索引。

這將解釋為什麼在更新時發生錯誤。無論您設置什麼值,都可能導致生成的列在更新的同時被零除。

引用自:https://dba.stackexchange.com/questions/302685