/ Dev

Cassandra CQL3 에서 대/소문자 구별하여 테이블과 필드를 생성하기

Cassandra 의 CQL3 에서는 기본적으로 대소문자 구별을 하지 않고 무조건 소문자를 쓰도록 하고 있다. 대문자를 쓰더라도 자동으로 소문자로 컨버팅된다.

대소문자를 구분하여 쓰려면 아래와 같이 " 를 덮으면 된다. 다른 언어에서는 ` (악센트)를 이용하는데, 여기서는 쌍따옴표를 이용한다.

DROP TABLE "Users";
CREATE TABLE "Users" (
    "userId" double,
    "name" varchar,
    "profileIcon" int,
    "createDate" timestamp
    PRIMARY KEY("userId")
);
CREATE INDEX ON "Users"("name");
CREATE INDEX ON "Users"("createDate");

참고

  • The provided key was not UTF8 encoded.
  • Table 의 Primary KEY는 무조건 UTF-8만 가능하다. (단, Order Partitioner 에서만 그러하다)
  • 클러스터링 오더는 아래와 같이 설정 할 수 있다
  • PRIMARY KEY("userId", "name") ) WITH CLUSTERING ORDER BY ("name" DESC);
  • PHPCassa 는 ListType 을 지원하지 않는다. 이 타입은 CQL3 에만 있는 타입인데, PHPCassa 는 CQL3 을 정식적으로 지원하지 않으므로 이 타입을 지원할 계획이 없다.