首页 > 解决方案 > Sequelize 小数点数据保存 2 个小数点

问题描述

我正在为我的 Node.js 项目使用 sequlize ORM。下面的代码是表格中的一列。

   itemPrice: {
      type: DataTypes.DECIMAL,
      allowNull: false,
      field: 'itemPrice'
    },

它将 MYSQL DB 列生成为十进制(10,0)。这意味着它不能保存小数点数据。当我要保存 12.26 时,它是保存 12。如何创建保存 2 个小数点的列。

我也试过下面的代码。它没有执行并发生错误。

   itemPrice: {
      type: DataTypes.DECIMAL(10,2),
      allowNull: false,
      field: 'itemPrice'
    },

请告诉我这样做的方向......

标签: node.jssequelize.js

解决方案


type: DataTypes.DECIMAL(10,2),应该管用。一旦通过 创建表sync,即使您更改了数据模型定义,它也不会被更改。

您可以{force: true}在您的sync功能中使用。请记住,这将删除您的表并重新创建它。

sequelize.sync({ force: true })
  .then(()

推荐阅读