2013-01-09 2 views
0

메모리 데이터베이스 테스트를 위해 HSQLDB를 사용하고 있으며 UUID를 기본 키로 사용할 때 문제가 발생했습니다. 기본 키를 데이터베이스에서 생성하려고합니다. 생성 된 UUID는 실제 uuid 일 필요는 없으며 단순히 varchar 열로 가야합니다.HSQLDB 컬럼의 기본 값으로 UUID를 사용하는 방법

나는이 문서에 따라 존재한다 UUID 기능을 시도했다 : http://hsqldb.org/doc/guide/builtinfunctions-chapt.html

alter table owner alter column id set default UUID(); 

을하지만 그것은 단지 UUID 예기치 않은 토큰이라고 말했다.

실마리가 있습니까?

답변

2

UUID 열 값에 대한 트리거를 사용할 수 있습니다.

CREATE TABLE OWNER (ID BINARY(16) DEFAULT X'' PRIMARY KEY , VAL VARCHAR(10)) 
CREATE TRIGGER TRIG BEFORE INSERT ON OWNER REFERENCING NEW ROW AS NEW FOR EACH ROW SET NEW.ID = UUID(); 

참고 열이 기본적으로 필요하지만이 기본값은 UUID()

+0

감사를 덮어 씁니다이 작동합니다. ROW 단어를 제거하지 않으면 "NEW ROOW AS NEW NEW"를 사용할 수 없습니다 – palto

관련 문제