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个字符.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |