【问题标题】:How do I get decimal values?如何获得十进制值?
【发布时间】:2018-06-21 18:51:54
【问题描述】:

我的数据库中有两列,病假和假期。它必须是小数,但由于某种原因,我只能得到整数。例如,我输入 1.50,当我按下更新时,我得到值 2。我尝试将列类型设置为十进制,但仍然得到相同的结果。

这是我的数据库架构:

【问题讨论】:

  • decimal(11,0) 更改为decimal(11,1) .. 取决于您希望存储数据的精确程度
  • @B001 我试过了,当我点击保存时它会回到 11,0

标签: php html database phpmyadmin decimal


【解决方案1】:

来自 mysql 文档:

DECIMAL 列的声明语法是 DECIMAL(M,D)。参数的取值范围如下:

  1. M 是最大位数(精度)。它的范围是 1 到 65。
  2. D 是小数点右边的位数( 规模)。取值范围为 0 到 30,且不得大于 M。

所以在你的情况下:点击change按钮,在长度/值列中应该有:11,2,当你点击保存时没有括号或其他任何东西

如果您想手动操作,请在此处讨论:MySQL - How do I update the decimal column to allow more digits?

这是更改:ALTER TABLE YourTableName MODIFY COLUMN column_name DECIMAL(11,2);

【讨论】:

  • 我明白,但是当我尝试更改它时,它又回到了 11,0
  • 我测试了这种情况,当你点击编辑时,在长度/值列中添加“11,2”NOTHING,然后点击保存
  • 我确实放了 11,2,没有别的,我仍然得到 11,0。很奇怪。
  • 另一个原因可能是您的值无法在那里转换成它。因此,如果您没有任何数据,您希望将错误信息的行留空,这可能会有所帮助
  • ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL(4,2);
【解决方案2】:

尝试使用手动更改它:

ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL(4,2);

感谢@user3647971

【讨论】:

    猜你喜欢
    • 2016-07-18
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2010-12-16
    相关资源
    最近更新 更多