차근차근/SQL

mssql , CONVERT함수 ,SET IDENTITY_INSERT

예쁜꽃이피었으면 2015. 5. 29. 09:42



DB에 내 id를 만들려고 하는데.. 영 안된다.


SET IDENTITY_INSERT 테이블명ON


insert into 테이블명(칼럼명1,칼럼명2,칼럼명3...)

values (1,'  ',CONVERT(varbinary,'비밀번호'),' ' , ' '...)


//칼럼명 3의 형식이 varbinary 타입이고 비밀번호일때..?


SET IDENTITY_INSERT 테이블명OFF 




음.. 기존 회원들의 비밀번호는 굉장히 길게 출력되는데..

나는 짧고 로그인도 안된다.



http://dualist.tistory.com/159

테이블 A에 있는 ID열의 명시적 값은 열 목록이 상요되고 IDENTITY_INSERT 가 ON일 때만 지정할 수 있습니다.


이 메세지가 나오는 이유는 추측이지만 이런것 같다.

INSERT ... SELECT 사용 시 TABLE 명 뒤에 컬럼 정의를 안하면 발생하는 에러로 보인다.

따라서 INSERT ... SELECT 사용 시에는 반드시 컬럼명을 명시해줘야만 에러가 발생하지 않는다.


그리고 INSERT ... SELECT 하기 전에 
SET IDENTITY_INSERT 테이블명 ON 또는 SET IDENTITY_INSERT 테이블명 OFF 를 
적절히 사용해줘야만 문제 없이 입력될 것이다.


SET IDENTITY_INSERT 테이블명 ON 은 인덱스를 수동으로 입력 가능하게 하는 명령이고,

SET IDENTITY_INSERT 테이블명 OFF 은 인덱스를 자동으로 입력 가능하게 하는 명령이다.



http://infodbbase.tistory.com/7



Use the convert function like it says.


CONVERT(varbinary(2000), '00001340132401324...', 2)

The styles for converting to/from binary are:


0: Raw data, ascii codepoints become binary bytes, UTF-16 codepoints become two bytes each.

1: Hex format, prefixed with '0x'

2: Hex format, not prefixed with '0x'

See MSDN:


http://msdn.microsoft.com/en-us/library/ms187928.aspx


반응형

'차근차근 > SQL' 카테고리의 다른 글

mssql like , 시간  (0) 2016.08.11
column does not allow nulls.  (0) 2016.05.13
mysql pk추가 삭제  (0) 2015.01.05
mysql dump만들기(백업) , 복구 (import)  (0) 2014.12.29
engine mysql  (0) 2014.12.24