2016-06-16 6 views
0

"문자열 또는 이진 데이터가 잘릴 수 있습니다." 내 테이블 중 하나에 정수를 삽입하려고하면 오류가 발생합니다.SQL 삽입 - INT 값에 대해 문자열 또는 이진 데이터가 잘립니다.

필자는 열의 길이와 삽입하는 값의 길이에 대해 여러 게시물을 읽었지만 일단 열이 모두 int 또는 smallint 유형이고 값이 모두 나오면 내 경우처럼 보이지 않습니다. 최대 두 자릿수.

CREATE TABLE [tblvUserLocation] (
    [User_Location_ID] [int] IDENTITY (1, 1) NOT NULL , 
    [Location_ID] [int] NULL , 
    [Line_Type_ID] [int] NULL , 
    [User_ID] [int] NULL , 
    [Active] [smallint] NULL CONSTRAINT [DF_tblvUserLocation_Active] DEFAULT (1), 
    [Last_Updated] [smalldatetime] NULL CONSTRAINT [DF_tblvUserLocation_Last_Updated] DEFAULT (getdate()), 
    [Last_Updated_By] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL CONSTRAINT [DF_tblvUserLocation_Last_Updated_By] DEFAULT (suser_sname()) 
) ON [PRIMARY] 
GO 

내가 실행하는 데 노력하고있어 삽입은 다음과 같다 :

insert into tblvUserLocation (Location_ID, Line_Type_ID, [User_ID], Active) 
values (20, 2, 41, 1) 

내가지고있어 오류는 다음과 같다

테이블 구조는 다음과 같다

서버 : 메시지 8152, 수준 16, 상태 2, 줄 1 문자열 또는 이진 데이터 은 잘립니다. 그 진술서는 만료되었습니다. 그 어떤 차이가있는 경우

, 나는 내가 당신의 생각이 무엇인지 알려 주시기 바랍니다 SQL 서버를 2000

을 사용하고 있습니다.

감사합니다.

+1

, 정말 당신이 업그레이드를 고려 시간 이상이다. 현재 최신 버전보다 5 (및 2008 R2를 포함하는 경우 절반) 버전입니다. 제품에 대한 * 확장 * 지원도 [3 년 전에] 끝났습니다 (https://support.microsoft.com/en-gb/lifecycle?C2=1044). (그리고 실제로, 2005 년에 대한 연장 지원조차도 올해 끝났습니다.) –

+0

알다시피, 그것은 정말로 나의 선택의 힘을 초월합니다. 회사는 레거시 기술로 실행되는 응용 프로그램을 보유하고 있으며, 단지 제 일을하고 있습니다. 어쨌든 쓸데없는 코멘트 주셔서 감사합니다 (: –

답변

4

문제가 귀하의 [DF_tblvUserLocation_Last_Updated_By] 제약에서 비롯된 것처럼 보입니다.

[Last_Updated_By]VARCHAR(10)의 길이보다 오래 걸릴 가능성이있는 현재 사용자 이름을 가져옵니다.

업데이트는 DDL가로 : 알다시피

[Last_Updated_By] [varchar] (128) 
+0

안녕하세요, Chris! 그 속임수, 감사합니다 많이 (: –