字符串或二进制数据将在INSERT语句中被截断

时间:2018-07-25 16:27:47

标签: sql sql-server

我正在做学校项目,我必须自己创建表并插入数据。以下是我的SQL语句。

CREATE TABLE Package
(pkgcode char(4) primary key,
 pkgname varchar(30) not null,
 pkgdescription varchar(60) not null,
 pickuplocation varchar(20) not null,
 costperadult decimal (7,2) not null,
 costperchild decimal (7,2) not null,
 pkgremarks varchar(30) null)

INSERT INTO Package
VALUES
('K009', 
 '8D7N FUJIAN/MT.WUYI', 
 'A whole new experience: enjoy multi nation architecture in Gulangyu Island and UNESCO Mt.Wuyi', 
 'Jurong East', 
 700.00, 
 500.00, 
'Hotel accommodation will be 4 stars.')

但是我在插入语句中遇到了以下错误。

  

(Msg 8152,第16级,状态14,第1行   字符串或二进制数据将被截断。   该声明已终止。)

如果您能帮助我,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

您试图插入的描述对于该列的规范来说太长了。只需创建一个较大的列即可(例如,此处100个字符就足够了),那么您就可以了:

CREATE TABLE Package
(pkgcode char(4) primary key,
 pkgname varchar(30) not null,
 pkgdescription varchar(100) not null, -- Here!
 pickuplocation varchar(20) not null,
 costperadult decimal (7,2) not null,
 costperchild decimal (7,2) not null,
 pkgremarks varchar(30) null
)