谁能告诉我可能导致这个错误的原因是什么?

时间:2013-04-24 15:54:35

标签: sql sql-server

我正在编写简单的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...');

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:6)

Title           varchar     NOT NULL,

你需要给varchar一个值

book_desc       varchar(50),

所以基本上Title列只有1个字符的值,因为你在创建表时没有定义它,而你试图在列中插入多于1个字符,这会给你带来错误