【发布时间】:2016-09-06 11:02:18
【问题描述】:
尝试在数据库级别写入电话号码验证,这将需要精确的 10 位数字。
试过了
t.integer :phone, null: false
t.integer :phone, null: false, size: 10
t.integer :phone, null : false, limit: 5
但是没有用。
我的发现
:limit Numeric Type Column Size Max value
1 tinyint 1 byte 127
2 smallint 2 bytes 32767
3 mediumint 3 bytes 8388607
nil, 4, 11 int(11) 4 bytes 2147483647
5..8 bigint 8 bytes 9223372036854775807
当我没有通过限制时,它提交123 并拒绝提交9999999999。由于没有最小值和最大值(2147483647) 的限制。
需要向数据库提交准确的 10 位数字,也不能再少。
【问题讨论】:
标签: mysql ruby-on-rails ruby-on-rails-4 database-migration