You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server报错:将表达式转换为int数据类型时发生算术溢出

SQL插入手机号报错的修复方案

你这段SQL执行报错的核心原因是PHONE字段的Int类型无法容纳插入的手机号值。多数数据库的32位有符号Int最大值仅为2147483647,而你插入的9415536635远超这个范围,导致数值溢出错误。

修复方案

这里提供两种可行的修改方式,推荐第一种:

方案1:将PHONE改为VARCHAR类型(推荐)

手机号无需参与数值计算,用字符串类型存储更合理,还能兼容带前缀(如+86)的手机号场景:

CREATE TABLE Student_details11 
(
    ROLL_NO Int,
    NAME VARCHAR(25),
    ADDRESS VARCHAR(25),
    PHONE VARCHAR(15),
    AGE Int
);

INSERT INTO Student_details11 (ROLL_NO, NAME, ADDRESS, PHONE, AGE) 
VALUES (1, 'Ram', 'Delhi', '9415536635', 24)

方案2:将PHONE改为BIGINT类型

如果坚持用数值类型存储,可改用范围更大的BIGINT(支持到9223372036854775807):

CREATE TABLE Student_details11 
(
    ROLL_NO Int,
    NAME VARCHAR(25),
    ADDRESS VARCHAR(25),
    PHONE BIGINT,
    AGE Int
);

INSERT INTO Student_details11 (ROLL_NO, NAME, ADDRESS, PHONE, AGE) 
VALUES (1, 'Ram', 'Delhi', 9415536635, 24)

内容的提问来源于stack exchange,提问作者nagaraju naidu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:10:55