我正在编写简单的SQL查询但由于某种原因,我不断收到此错误 " Msg 8152,Level 16,State 14,Line 1 字符串或二进制数据将被截断。",我不知道导致它的原因我在网上搜索了什么类型的东西会导致这个错误,但我发现的只是"你正试图输入太长的数据。",这不是我的代码。
CREATE TABLE BOOK
(
PrimaryAuth varchar(20) NOT NULL,
Title varchar NOT NULL,
ISBN varchar(10) NOT NULL,
PubID char(3),
Pub_Date varchar(20),
price float,
book_desc varchar(50),
PRIMARY KEY(ISBN),
UNIQUE(Title)
);
INSERT INTO BOOK values('Scott Westerfeld', 'Peeps', '1595140832', '101', 'September 7, 2006', 8.99, 'A year ago, Cal Thompson...');
有人能告诉我我做错了吗?
答案 0 :(得分:6)
Title varchar NOT NULL,
你需要给varchar一个值
即
book_desc varchar(50),
所以基本上Title列只有1个字符的值,因为你在创建表时没有定义它,而你试图在列中插入多于1个字符,这会给你带来错误