2017-04-10 2 views
3

MySQL에서 AUTO INCREMENT을 사용하여 내 애플리케이션 고객을위한 고유 ID를 생성 할 수 있습니다. CockroachDB를 사용할 때 비슷한 기능을 어떻게 얻을 수 있습니까?CockroachDB의 자동 증가 지원

답변

6

응용 프로그램은 SEQUENCE 또는 AUTO_INCREMENT과 같은 구문을 사용할 수 없으며 수평 확장 성도 기대합니다. 이는 분산 데이터베이스의 일반적인 제한 사항입니다. 대신, CockroachDB는 증가하는 것은 아니지만 반드시 연속적인 값을 생성하는 고유 한 SERIAL 유형을 제공합니다.

예를 들어, 사용합니다 : CREATE TABLE customers (id SERIAL PRIMARY KEY, name STRING); 을 그런 다음 값을 삽입 할 때, 당신은 같은 것을 사용합니다 : 이것은 당신이 다른 곳에서 사용할 수있게하려는 무작위로 생성 된 ID를 반환 INSERT INTO customers (name) VALUES ('Kira Randell') RETURNING id; 당신의 응용 프로그램

+0

고마워, 좋은 답변. 사실 연속적인 값을 생성하지 않는 SERIAL은 다른 SQL 데이터베이스가 시퀀스 캐싱 문제 또는 롤백되는 삽입물로 인해 종종 갭을 남기 때문에 드문 일이 아닙니다. – Turnkey