算术溢出错误将表达式转换为数据类型 int 插入记录

-2 sql-server

当我在表中插入记录时,它会抛出:

将表达式转换为数据类型 int 时出现算术溢出错误。

代码:

create table JEmp
(
J_Id int Identity,
J_Name varchar(100),
J_Contact int,
J_City varchar(100),
primary key(J_Id)
)

insert into JEmp(J_Name, J_Contact, J_City) 
values ('David Warner', 9821766418, 'New York')
Run Code Online (Sandbox Code Playgroud)

Eri*_*ing 6

这是因为9821766418大于 的整数最大值2147483647

如果您希望能够存储电话号码,则需要使用BIGINT,或者更好的是,将它们存储为字符串。您将通过直接相等或部分条件搜索它们。将它们存储为数字并不能真正帮助您,在这里。