加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – Msg 8152,字符串或二进制数据将被截断

发布时间:2020-12-12 08:51:18 所属栏目:MsSql教程 来源:网络整理
导读:我有这个表: CREATE TABLE Vendors( VendorID NUMERIC(10) NOT NULL,VendorName CHAR(50) NOT NULL,VendorAddress VARCHAR(30) NULL,VendorCityName VARCHAR(20) NOT NULL,VendorStateName CHAR(2) NOT NULL,VendorZip VARCHAR(10) NULL,VendorContactName C
我有这个表:
CREATE TABLE Vendors

(
    VendorID            NUMERIC(10)     NOT NULL,VendorName          CHAR(50)        NOT NULL,VendorAddress       VARCHAR(30)     NULL,VendorCityName      VARCHAR(20)     NOT NULL,VendorStateName     CHAR(2)         NOT NULL,VendorZip           VARCHAR(10)     NULL,VendorContactName   CHAR(50)        NOT NULL,VendorContactPhone  VARCHAR(12)     NOT NULL,VendorContactEmail  VARCHAR(20)     NOT NULL,VendorSpecialty     CHAR(20)        NOT NULL

    CONSTRAINT VendorsPK        PRIMARY KEY (VendorID)      
);

并插入:

INSERT INTO Vendors(VendorID,VendorName,VendorAddress,VendorCityName,VendorStateName,VendorZip,VendorContactName,VendorContactPhone,VendorContactEmail,VendorSpecialty)
VALUES(151330,'Hyperion','77 West 66th Street','New York','NY',10023,'John Hinks','212-337-6564','jhinks@hyperionbooks.com','Popular fiction')

为什么这个语句会产生8152错误?

解决方法

VendorContactEmail只有20个字节.您的第一行(jhinks@hyperionbooks.com)上的电子邮件地址长于24字节.许多电子邮件地址会更长.谁决定只允许20个字符在电子邮件地址列?根据标准,这应该是VARCHAR(320) – 对于域的@ 255,localpart 1的64个字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读