【问题标题】:Strange 1264 Out of Range Error奇怪的 1264 超出范围错误
【发布时间】:2016-11-30 08:31:25
【问题描述】:

在 MySQL 中运行一组插入语句时,我不断收到Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为float(10, 10),列中的值范围为23.912 to 26.458,均在界限内。我完全不知道为什么会收到此错误。

【问题讨论】:

    标签: mysql mysql-error-1264


    【解决方案1】:

    float(10,10) 表示存储 10 位小数,整数部分没有空间。

    0.1234567890 是有效的,因为这是小数点后 10 位,但 1.234567890 不是,因为您没有为 1. 留下任何空间

    它是float(total digits, decimal places),是一个和,而不是integer places, decimal places

    123.456789 = 9 digits total, 6 for decimals -> float(9, 6)
    

    【讨论】:

    • 这更有意义。我不明白左边的限制是小数点右边的数字之和,而右边的限制只是小数位。谢谢!
    【解决方案2】:

    对于您的值23.912 to 26.458float(10, 10) 不起作用。 说明:-

    在浮点数中,第一个 10 表示您可以在此字段中输入 10 位,第二个 10 表示 (.) 之后的 10 位

    所以你可以在这个字段中插入:-

    0.111111111
    .
    .
    .
    0.999999999
    

    但你不能:-

    1.111111111
    .
    .
    .
    .
    .
    111111111.1
    

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 2013-07-05
      • 2013-10-29
      • 2018-07-18
      • 2011-10-01
      • 1970-01-01
      相关资源
      最近更新 更多