MariaDB 기본 키와 고유 키
어떤 면에서는 이 질문이 이것으로부터 이어진다.MariaDB 설명서의 금지 사항 중 하나는 프라이머리 키가 없는 클러스터된 데이터베이스에 테이블을 두는 것이 바람직하지 않음을 나타냅니다.어플리케이션에서는 Primary 키 없이 테이블마다 1개의 UNIQE 키(VARCHAR(8)를 사용하고 있습니다.PRIMAY 키는 단지 특수한 종류의 UNIQUIK 키에 불과합니다.질문 - 현재 사용 중인 UNIQURE 키는 MariaDB Galera를 만족시키기 위한 적절한 키입니까?아니면 UNIQURE를 PRIMARY로 변환해야 합니까?외견상 이것은 나에게 별로 말이 되지 않지만 아마도 그렇게 하는 이유가 있을 것이다.
가 없는 경우PRIMARY
키, InnoDB/XtraDB는 먼저 이 키를 사용하여UNIQUE
둘 다 존재하지 않으면 galera 노드 간에 신뢰할 수 없는 내부 기본 키를 구성합니다.
맞는 말이다PRIMARY
키는 기본적으로UNIQUE
유일한 차이점은 하나밖에 없다는 것이다PRIMARY
또한 데이터의 물리적 레이아웃에도 사용되지만 여기서는 그다지 중요하지 않습니다.
하나뿐인 한UNIQUE
인덱스, 괜찮을 거야하지만 하나 더 추가한다면 믿을 수 없을 것 같습니다.UNIQUE
그렇기 때문에, 그리고 좋은 관행을 위해서, 당신은 아마 그것을 만들어야 할 것이다.UNIQUE
인덱스를 작성하다PRIMARY
열쇠.
기본 키를 사용하려면 열이 NULL이 아니어야 합니다.
표에서CREATE TABLE p (a INT, b INT, UNIQUE (a));
IS NULL에는 2개의 행을 사용할 수 있습니다.
표에서CREATE TABLE p2 (a INT, b INT, PRIMARY KEY (a));
열은 자동으로 NOT NULL 열이 됩니다.
SHOW CREATE TABLE p2;
CREATE TABLE `p2` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
언급URL : https://stackoverflow.com/questions/22433143/mariadb-primary-key-vs-unique-key
'programing' 카테고리의 다른 글
후행 슬래시 없이 문자열 반환 (0) | 2022.11.08 |
---|---|
java 파일 intellij 아이디어로 디컴파일하는 방법 (0) | 2022.11.08 |
v-tabs-slider가 작동하지 않는 경우 v-tabs-slider를 사용하여 Vuetify하시겠습니까? (0) | 2022.11.08 |
MySQL의 "IF EXISTES" 사용 방법 (0) | 2022.11.08 |
mysql의 max(길이(필드)) (0) | 2022.11.08 |