MySQL Error 1264: out of range value for column(MySQL 错误 1264:列的值超出范围)
问题描述
当我在 MySQL 中的表中 SET
cust_fax 时,如下所示:
As I SET
cust_fax in a table in MySQL like this:
cust_fax integer(10) NOT NULL,
然后我像这样插入值:
INSERT INTO database values ('3172978990');
然后它说
`error 1264` 列值不足
`error 1264` out of value for column
我想知道错误在哪里?我的一套?还是其他?
And I want to know where the error is? My set? Or other?
任何答案将不胜感激!
推荐答案
值 3172978990 大于 2147483647 - INT
的最大值 - 因此出现错误.MySQL 整数类型及其范围在此处列出.
The value 3172978990 is greater than 2147483647 – the maximum value for INT
– hence the error. MySQL integer types and their ranges are listed here.
还要注意INT(10)
中的(10)
没有定义整数的大小".它指定列的显示宽度.此信息仅供参考.
Also note that the (10)
in INT(10)
does not define the "size" of an integer. It specifies the display width of the column. This information is advisory only.
要修复错误,请将您的数据类型更改为 VARCHAR
.电话和传真号码应存储为字符串.请参阅此讨论.
To fix the error, change your datatype to VARCHAR
. Phone and Fax numbers should be stored as strings. See this discussion.
这篇关于MySQL 错误 1264:列的值超出范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MySQL 错误 1264:列的值超出范围


基础教程推荐
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01