在sql server中执行下面的代码行时,收到错误消息:
字符串或二进制数据将被截断。
这是什么原因?
代码行:
INSERT INTO ticket
VALUES (6417, '29 Lame Street St. James', '04/17/2013', '04/25/2013', '05/01/2013', '04/25/2013', 'Expired License',121892053,128,100,121180);
更新
以下是该表的代码:
CREATE TABLE ticket
(Ticket_id INTEGER PRIMARY KEY,
location VARCHAR(20) NOT NULL,
issue_datetime DATE NOT NULL,
due_datetime DATE NOT NULL,
court_datetime DATE NOT NULL,
paid_datetime DATE NOT NULL,
description VARCHAR(200) NOT NULL,
TRN int,
offense_id int,
parish_code int,
chassis_num int,
constraint fk_ticket foreign key (TRN) references driver(TRN),
constraint fk_tickt foreign key (Offense_id) references Offense(Offense_id),
constraint fk_tiket foreign key (parish_code) references parish(pcode),
constraint fk_ticet foreign key (chassis_num) references Cars(chassis_num)
);
答案 0 :(得分:2)
列location
的限制为20
。您尝试插入的数据的length
为24
。
SELECT LEN('29 Lame Street St. James')
您可能希望增加location
列的限制。
ALTER TABLE [ticket] ALTER COLUMN [location] VARCHAR(255)
答案 1 :(得分:1)
我们还需要表信息来知道哪个字段导致它,但这实际上意味着表的一个字段没有足够的空间用于插入字符串。
如果您粘贴表信息,我们可以告诉您它是哪一个。