Q
小整数类型长度
0
A
回答
1
“在查询”验证是可以做到这样的:
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table (year INT NOT NULL);
INSERT INTO my_table SELECT 2016 FROM (SELECT 1) n WHERE 2016 BETWEEN 0 AND 9999;
Query OK, 1 row affected (0.00 sec)
SELECT * FROM my_table;
+------+
| year |
+------+
| 2016 |
+------+
INSERT INTO my_table SELECT 20161 FROM (SELECT 1) n WHERE 20161 BETWEEN 0 AND 9999;
Query OK, 0 rows affected (0.00 sec)
SELECT * FROM my_table;
+------+
| year |
+------+
| 2016 |
+------+
0
输入从MySQL manual:
MySQL支持用于选择指定的整数数据类型的显示宽度括号中的类型base关键字以下的延伸部。例如,INT(4)指定一个显示宽度为四位的INT。
显示宽度确实是不是约束可存储在列中的值的范围。它也不会阻止比列显示宽度更宽的值被正确显示。例如,指定为SMALLINT(3)的列的常用SMALLINT范围为-32768至32767,并且三位数所允许的范围之外的值全部使用三位以上的数字显示。
因此,您不能仅限制mysql中的4位数值。而MySQL不支持自定义的CHECK
约束。但是你可以创建像this这样的触发器并检查里面的值。请注意,自MySQL 5.5以来,SIGNAL
起作用。
+0
我认为OP已经知道这一点。 – Strawberry
相关问题
- 1. 固定长度整数数据类型
- 2. 整数类型长整数和分数
- 3. SQL表的大小/长度和类型
- 4. Doctrine2具有指定长度的整数类型
- 5. stream.read方法接受整数类型的长度?作为
- 6. 找到自定义数据类型的大小(或长度)
- 7. SQL Server:检索数据类型长度
- 8. 设置类型和长度
- 9. C:使用整数类型指针参数计算数组长度
- 10. 对整数类型执行舍入,但不是小数类型
- 11. C99的固定宽度整数类型
- 12. 重新调整价格表从较长的长度到较小的长度
- 13. 设置最大。大小,最大整型数和最大字符串长度
- 14. Java(和Hibernate)中长数据类型的主键长度?
- 15. EF6:ORA-00910:数据类型的指定长度太长
- 16. 将长整型转换为整数
- 17. C++字符类型的长度和大小
- 18. 如何增加HTML5输入类型的长度/大小范围
- 19. 从长期无符号整型长unsigned int类型及
- 20. 如何为XML模式中的整数设置最小长度?
- 21. 问题与调整大小()函数,当增长宽度
- 22. PySpark - 改变长期类型数组类型(长型)
- 23. xform最大长度为输入字段不工作绑定到整数类型
- 24. 调整小数精度,.NET
- 25. 整型与长型长整型向量之差
- 26. ASP.NET MVC - 关于其数据类型长度的模型验证
- 27. 具有泛型类型的可变长度参数scala
- 28. 程序集中长整型值列表的最大长度
- 29. MySQL VARCHAR like数据类型,带最小和最大字符长度
- 30. 最小长度Regex
你可以做的是在应用程序代码,或者您的查询 – Strawberry
这应该做的伎俩。结果与预期结果有何不同? – Mureinik
@Mureinik括号中的数字与数据类型将接受的值范围没有关系。 – Strawberry