sql server 저장 대상 문자열 을 유 니 크 identifier 로 변환 하 는 데 실 패 했 습 니 다.
2729 단어 sqlserver문자열uniqueidentifier
웹 응용 프로그램 은 ssh 프레임 워 크,데이터베이스 에 사용 되 는 sql server 2014 버 전 을 사용 합 니 다.
2.문제:
고객 이 요구 하 는 ID 열의 데이터 형식 은 유 니 크 identifier 여야 합 니 다.처음에 실체 류 의 ID 는 자바.lang.string 형식 으로 설계 되 었 습 니 다.맵 파일 에 있 는 ID 의 증가 방식 은 uid.hex 입 니 다.
private java.lang.String id;
public java.lang.String getId(){
return id;
}
public void setId(java.lang.String id){
this.id=id;
}
<id name="id" column="ID" type="java.lang.String">
<generator class="uuid.hex"></generator>
</id>
저장 시간 오류:문자열 유 니 크 identifier 를 실행 하 는 데 실 패 했 습 니 다.3.해결 방안:
맵 파일 에 있 는 ID 의 증가 방식 을"assigned"로 변경 하여 프로그램 에 값 을 부여 합 니 다.
/* */
<id name="id" column="ID" type="java.lang.String">
<generator class="assigned"></generator>
</id>
/* */
UUID uuid = java.util.UUID.randomUUID();
object.setId(uuid.toString);
this.save(object);
첨부:테이블 을 만 드 는 문장
CREATE TABLE tableName
(
ID UNIQUEIDENTIFIER,
--
);
추가 지식:SQLServer 의 uniqueidentifier 데이터 형식 이해uniqueidentifier 는 전역 의 유일한 표시 자(GUID)로 이해 할 수 있 으 며,newid 함 수 를 사용 하여 값 을 초기 화 할 수 있 으 며,문자열 의 상 수 를 다음 과 같은 형식 으로 변환 할 수 있 습 니 다(xxxxxxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxx,그 중 x 는 0-9 또는 a-f 범위 내의 16 진수 입 니 다).
예 를 들 어 6F9619FF-8B86-D011-B42D-00C04FC964FF 는 유효한 uniqueidentifier 값 이다.
비교 연산 자 는 유 니 크 identifier 값 과 함께 사용 할 수 있 습 니 다.그러나 배열 은 두 값 을 비교 하 는 비트 패턴 을 통 해 이 루어 지 는 것 이 아니다.유 니 크 identifier 값 을 실행 할 수 있 는 동작 은 비교(=,<,<,>,<=,>=)와 NULL(IS NULL 과 IS NOT NULL)만 있 습 니 다.
다른 산술 연산 자 를 사용 할 수 없습니다.모든 열 제약 및 속성(IDENTITY 제외)은 유 니 크 identifier 데이터 형식 에 사용 할 수 있 습 니 다.
declare @myid uniqueidentifier
set @myid=newid()
print 'Value of @myid is '+cast(@myid as varchar(255))
이 프로그램 을 실행 할 때마다 다른 유 니 크 identifier 를 되 돌려 줍 니 다.uniqueidentifier 데이터 형식 은 IDENTITY 속성 처럼 새로 삽 입 된 줄 에 자동 으로 새 ID 를 생 성하 지 않 습 니 다.
새로운 유 니 크 identifier 값 을 얻 기 위해 서 표 는 NEWID 함수 의 DEFAULT 자 구 를 지정 하거나 NEWID 함수 의 INSERT 문 구 를 사용 해 야 합 니 다.
CREATE TABLE MyUniqueTable
(UniqueColumn UNIQUEIDENTIFIER DEFAULT NEWID(),
Characters VARCHAR(10) )
GO
INSERT INTO MyUniqueTable(Characters) VALUES ('abc')
INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')
GO
sql server 저장 대상 문자열 을 유 니 크 identifier 로 변환 하 는 데 실패 한 문 제 는 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.많은 응원 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.