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. 型长Vs的类型长整型
- 5. 限制整数数据类型字段长度
- 6. stream.read方法接受整数类型的长度?作为
- 7. Doctrine2列类型长度为255的整数不适用于DB
- 8. Doctrine2具有指定长度的整数类型
- 9. 找到自定义数据类型的大小(或长度)
- 10. MySQL固定长度和可变长度数据类型
- 11. Rails数据类型,长度和Datepicker
- 12. SQL Server:检索数据类型长度
- 13. 指定数据类型的长度
- 14. 设置类型和长度
- 15. MySQL - 设置整数长度
- 16. Java限制长度整数
- 17. C++任意长度整数
- 18. C:使用整数类型指针参数计算数组长度
- 19. 对整数类型执行舍入,但不是小数类型
- 20. 整数类型大小问题
- 21. 带有字节长度和十进制长度的DB2/AS400小数点的SQL Server数据类型
- 22. C99的固定宽度整数类型
- 23. 重新调整价格表从较长的长度到较小的长度
- 24. 设置最大。大小,最大整型数和最大字符串长度
- 25. 小数类型如何保持精度?
- 26. ORA-00910:其数据类型的指定长度太长
- 27. EF6:ORA-00910:数据类型的指定长度太长
- 28. Java(和Hibernate)中长数据类型的主键长度?
- 29. 将长整型转换为整数
- 30. 如何增加HTML5输入类型的长度/大小范围
你可以做的是在应用程序代码,或者您的查询 – Strawberry
这应该做的伎俩。结果与预期结果有何不同? – Mureinik
@Mureinik括号中的数字与数据类型将接受的值范围没有关系。 – Strawberry