【问题标题】:How do u define decimal 19.2你如何定义十进制19.2
【发布时间】:2021-09-25 17:48:07
【问题描述】:

我用 Laravel 5.8 编写了一个在线商店,在这个项目中,我想在 user_transactions 表中定义具有 Decimal 19.2 数据类型的 amount 列。

于是我打开phpmyadmin,将数据类型改为decimal

现在我需要知道如何在 phpmyadmin 和 Laravel 迁移中定义 Decimal(19.2)

我已经知道如何在 Laravel 中使用 Decimal 数据类型了:

$table->decimal('amount');

但是19.2 是在哪里定义的呢?

【问题讨论】:

  • 什么意思?如果您已经在 mysql 表列上设置了decimal(19,2),则插入值的小数位数无关紧要......它始终根据列定义的十进制值存储。 See this
  • decimal('field', 3, 1) 表示总共 3 位数字,包括 1 位小数。

标签: php mysql laravel phpmyadmin laravel-5.8


【解决方案1】:

我相信您在这里谈论的是精度和规模。您可以使用

声明该列
$table->decimal('amount', 19, 2);

来自文档

具有精度(总位数)和小数位数(小数位数)的 DECIMAL 等效列。

对于 phpMyAdmin,选择类型DECIMAL 和长度/值19,2。这也会做同样的事情。但不要直接使用 phpMyAdmin。使用迁移来修改/向表中添加列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2020-11-20
    相关资源
    最近更新 更多