【问题标题】:Error String or binary data would be truncated错误字符串或二进制数据将被截断
【发布时间】:2015-01-26 04:29:32
【问题描述】:

我一直在尝试创建表并向其中添加数据,但我遇到了这个错误

消息 8152,第 16 级,第 14 州,第 35 行
字符串或二进制数据将被截断。

代码:

CREATE TABLE Speakers_photos
(
    SpeakerID   CHAR(10) NOT NULL,
    Image       VARBINARY(MAX) NOT NULL,

    PRIMARY KEY(SpeakerID),
    FOREIGN KEY (SpeakerID) REFERENCES Speakers(SpeakerID)
      ON UPDATE CASCADE ON DELETE NO ACTION
)

INSERT INTO Speakers_photos VALUES('S001210001', 0)

哪里出错了?

【问题讨论】:

  • 我无法用您提供的数据重现您的错误...这是引发错误的插入吗?还是只是您的插入语句的一个示例?
  • 是的,插入会引发该错误。消息 8152、级别 16、状态 14、行 35 字符串或二进制数据将被截断。声明已终止。
  • 如何定义 Speakers 表中的 speakerID 列?也是 CHAR(10) 吗?
  • 是的,它也是 CHAR(10)

标签: sql sql-server sql-server-2012


【解决方案1】:

提供的代码不会出现截断错误。脚本不完整或错误位于 Speakers_photos 表上的 INSERT 触发器中。如果是触发器,请查看错误消息中指示的第 35 行。

【讨论】:

    猜你喜欢
    • 2015-04-29
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    相关资源
    最近更新 更多