-3

我正在编写简单的 sql 查询,但由于某种原因,我不断收到此错误“消息 8152,级别 16,状态 14,第 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...');

有人可以告诉我我做错了什么吗?

4

1 回答 1

6
Title           varchar     NOT NULL,

你需要给 varchar 一个值

IE

book_desc       varchar(50),

所以基本上 Title 列的值只有 1 个字符,因为您在创建表时没有定义它,并且您试图在列内插入超过 1 个字符,这会给您带来错误

于 2013-04-24T15:55:51.587 回答