Rails PostgreSQL数字字段溢出ERROR
我的架构上有一个十进制字段的价格,每次我尝试插入价格时,pg都带有此错误。 谁能给我任何光? 谢谢
组态
t.decimal "price", :precision => 2, :scale => 2
错误
PG::Error: ERROR: numeric field overflow DETAIL: A field with precision 2, scale 2 must round to an absolute value less than 1. : INSERT INTO "items" ("category_id", "name", "price", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) RETURNING "id"
我引用任意精度数字的手册:
数字的刻度是小数点右侧小数部分的小数位数。 数字的精度是整数中有效数字的总数,即小数点两边的数字位数。
您不能将数字>= 1
分配给数据类型为numeric(2,2)
。 小数点前面没有数字空间。
0.999
和0.995
也违反了类型,因为它们以给定的2的 比例舍入为1
。
- rails pg db for Devise Users的undefined方法`database_authenticatable’
- Rails迁移:PostgreSQL上的Bigint似乎失败了吗?
- 推送到Heroku时Rails迁移错误w / Postgres
- Rails 4 – 使用postgres逐个渲染数组值
- ActiveRecord模糊搜索
- 为什么使用’gin’的add_index会创建一个’btree’索引呢?
- 如何确保不通过activerecords将重复的行添加到我的数据库表中?
- 我无法将我的rails应用程序推送到Heroku /获取’pg’gem安装?
- Ruby / Rails字符串数组到PostgreSQL插入