无法将值插入到我的SQL表中

时间:2018-01-13 17:39:31

标签: sql sql-server visual-studio

这是我的疑问:

CREATE TABLE [dbo].[Veiculos] 
(
    [IDCar]      INT          IDENTITY (1, 1) NOT NULL,
    [Matricula]  VARCHAR (8)  NOT NULL,
    [Marca]      VARCHAR (30) NULL,
    [Modelo]     VARCHAR (30) NULL,
    [Cor]        VARCHAR (15) NULL,
    [Cilindrada] INT          NULL,
    [Estado]     CHAR (1)     NULL,
    [Preco]      MONEY        NULL,
    PRIMARY KEY CLUSTERED ([IDCar] ASC),
    UNIQUE NONCLUSTERED ([Matricula] ASC),
    CHECK ([Estado]='Usado' OR [Estado]='Novo')
);

出于某种原因,每当我尝试将值直接添加到表中时,它都会出现以下错误:

  

"第1行中的数据未提交   错误来源:.Net SqlCliente数据提供者。
  错误消息:字符串或二进制数据将被截断。"

Error Example

这是一个大学项目,我仍然是SQL新手,非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

estado定义为char(1),但您尝试将值'Novo'

放入单个字符或重新定义列宽。根据您的check约束条件,您可能希望将estado定义为varchar(10)或其他内容:

alter table [dbo].[Veiculos] alter column estado varchar(10);

答案 1 :(得分:0)

答案 2 :(得分:0)

我看到两件事

IDCar need to have a value 

[Estado]     CHAR (1)

但您尝试输入的值为4。请尝试按以下方式更新

[Estado]     CHAR (4)