IT序号网

mysql之在 MySQL 中存储百分比

freeliver54 2024年05月22日 编程语言 45 0

我试图在 MySQL 数据库中存储一个百分比值,但每当我尝试将百分比列的值设置为 100% 时,我都会收到“超出范围值”错误消息。

我目前使用的是 DECIMAL(5,2) 类型,我需要能够存储从 0% 到 100% 的值(当值不是整数时使用 2dp)(这些值是在一个 PHP 脚本)。

除了触发错误的 100% 之外,所有值都很好。

我是不是误会了什么,还是遗漏了什么?

编辑:该表是使用以下 sql 创建的

CREATE TABLE overviewtemplate 
( 
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
name VARCHAR(32), 
numberOfTests INT NOT NULL DEFAULT 0, 
description VARCHAR(255) NOT NULL DEFAULT "Please add a Description", 
percentageComplete DECIMAL(5,2), 
numberPassed INT NOT NULL DEFAULT 0, 
numberFailed INT NOT NULL DEFAULT 0 
) ENGINE=MYISAM; 

编辑 2:这是 SQL 查询的代码

$numberOfPasses = 5; 
$numberOfFails = 5; 
$percentageComplete = 100.00; 
 
$sqlquery = "UPDATE `overviewtemplate`  
             SET numberPassed = {$numberOfPasses},  
                 numberFailed = {$numberOfFails},  
                 percentageComplete = {$percentageComplete} 
             WHERE description = '{$description}'"; 

编辑 3:已修复 - 我的表名中存在语法错误,这意味着它正在尝试更新错误的表。

请您参考如下方法:

根据您的声明,您应该能够毫无困难地节省 999.99。检查是否设置了不大于100的规则?如果是则将其设置为小于或等于 100.00

它可能在触发器中。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!