首页 > 解决方案 > 插入时:将表达式转换为数据类型 int 的算术溢出错误

问题描述

我尝试创建第三个电话号码表,我编写了以下命令:

CREATE TABLE MYPHONE (EMPLOYEE_ID INT, PHONE_NUMBER INT)

INSERT INTO MYPHONE 
VALUES (1 , 7894561230)

但是当我尝试执行这个先前INSERT的命令时,我得到了一个错误:

消息 8115,级别 16,状态 2,第 46 行
算术溢出错误将表达式转换为数据类型 int。

标签: sql-server

解决方案


INT数据类型的允许范围是-2,147,483,6482,147,483,647

您可以在此处获取有关允许范围的更多详细信息

您正试图插入超出该范围。对于电话号码,最好选择VARCHAR数据类型。如果您仍然想获取数字,在这种情况下使用BIGINT而不是INT.


推荐阅读