sql-server - 插入时:将表达式转换为数据类型 int 的算术溢出错误
问题描述
我尝试创建第三个电话号码表,我编写了以下命令:
CREATE TABLE MYPHONE (EMPLOYEE_ID INT, PHONE_NUMBER INT)
INSERT INTO MYPHONE
VALUES (1 , 7894561230)
但是当我尝试执行这个先前INSERT
的命令时,我得到了一个错误:
消息 8115,级别 16,状态 2,第 46 行
算术溢出错误将表达式转换为数据类型 int。
解决方案
INT
数据类型的允许范围是-2,147,483,648到2,147,483,647
您可以在此处获取有关允许范围的更多详细信息
您正试图插入超出该范围。对于电话号码,最好选择VARCHAR
数据类型。如果您仍然想获取数字,在这种情况下使用BIGINT
而不是INT
.
推荐阅读
- angular - on mousehover 在Angular 2/ 4中显示和隐藏div
- azure - Azure AD B2C:错误请求 - 请求太长 HTTP 错误 400。请求标头的大小太长。登录后
- r - 如何用 dplyr 从所有给定的每日观察时间序列中总结年平均温度?
- eclipse-plugin - Treeviewer 刷新不起作用
- php - 全局变量不选择子函数值
- python - 为什么我的 python udf 在 redshift 中返回空输出?
- mysql - 获取同一表/列上不同购买类型的计数和总和
- twitter-bootstrap - 反应中的引导表单在提交之前显示验证消息
- python - 在 Python 中对 CSV 文件进行训练测试拆分
- php - 使用 GLOB 排除多个目录