1000亿之后的总和在PostgreSQL中不起作用



我对我的模型使用sequelize,并创建这样的模型

@Table({tableName: 'UserData'})
export default class UserDataModel extends Model<UserDataInterface> {
@Default(0)
@Column(DataType.DECIMAL(30, 4))
balance: number;
@Default(0)
@Column(DataType.DECIMAL(30, 4))
record: number;

添加类似的数字

UserDataModel.update({
balance: Sequelize.literal('balance + click'),
record: Sequelize.literal('record + click')
}, {
individualHooks: true,
where: {
userId: user.id
}
});

点击类型为

@Default(0)
@Column(DataType.DOUBLE)
click: number;

在我的情况下,点击=0.0001,如果我尝试求和90 000 000 000 000 0000+0.0001,这是有效的,但如果数字超过1000亿,比如10 000 000 000+0.0001这是无效的,为什么会发生这种情况,我该怎么办?

软件包.json

"sequelize": "^5.22.4",
"sequelize-auto-migrations": "^1.0.3",
"sequelize-typescript": "^1.1.0",

如果您不想对大小数求和,则需要将列类型更改为相同,对求和的所有列

最新更新