1000 亿之后的总和在 PostgreSQL 中不起作用
Sum numbers after 100 billion doesn't work in 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;
Click 在我的例子中是 = 0.0001,如果我尝试 sum 90 000 000 000.0000 + 0.0001 它有效,但如果数字大于 1000 亿,比如 100 000 000 000 + 0.0001 它无效,这是为什么发生了什么事,我该怎么办?
package.json
"sequelize": "^5.22.4",
"sequelize-auto-migrations": "^1.0.3",
"sequelize-typescript": "^1.1.0",
如果您不对大小数求和,则需要将列类型更改为相同,所有您求和的列
我对我的模型使用 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;
Click 在我的例子中是 = 0.0001,如果我尝试 sum 90 000 000 000.0000 + 0.0001 它有效,但如果数字大于 1000 亿,比如 100 000 000 000 + 0.0001 它无效,这是为什么发生了什么事,我该怎么办?
package.json
"sequelize": "^5.22.4",
"sequelize-auto-migrations": "^1.0.3",
"sequelize-typescript": "^1.1.0",
如果您不对大小数求和,则需要将列类型更改为相同,所有您求和的列