在MySQL中存储百分比

时间:2014-12-15 11:05:24

标签: mysql

我试图在MySQL数据库中存储百分比值,但是当我尝试将百分比列的值设置为100%时,我得到一个"超出范围的值"错误信息。

我目前正在使用DECIMAL(5,2)类型,我需要能够存储从0%到100%的值(当值为n且不是整数时为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:已修复 - 我的表名中出现语法错误,这意味着它正在尝试更新错误的表。

1 个答案:

答案 0 :(得分:1)

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

它可能处于触发状态。