ID | PRODUCT
1 | Apples
1 | Oranges
1 | Bananas
2 | Walnuts
2 | Almonds
3 | Steak
3 | Chicken
이 MySQL은 설치의 유형을 가질 수 있습니다을 말해봐? 테스트 테이블을 만들고 기본 인덱스와 자동 증가 ID 열을 만들었습니다. 동일한 ID를 가진 몇 개의 행을 삽입하려고하면 mysql이 오류를 반환합니다.
mysql에서 가능합니까?
ID | PRODUCT
1 | Apples
1 | Oranges
1 | Bananas
2 | Walnuts
2 | Almonds
3 | Steak
3 | Chicken
이 MySQL은 설치의 유형을 가질 수 있습니다을 말해봐? 테스트 테이블을 만들고 기본 인덱스와 자동 증가 ID 열을 만들었습니다. 동일한 ID를 가진 몇 개의 행을 삽입하려고하면 mysql이 오류를 반환합니다.
mysql에서 가능합니까?
ID
을 기본 키로 설정하면 중복 기록 (ID) INSERTED
은 어떻게 발생 했습니까? 기본적으로 그렇지 않습니다. 기본 키는 UNIQUE
입니다. 이 기록은 그렇게되고 싶은 경우에, UNIQUE
제약 조건이 중복 행을 피하기 위해 이렇게 추가 된 기본 키
CREATE TABLE sampleTable
(
ID INT NOT NULL AUTO_INCREMENT,
GROUP_ID INT NOT NULL,
PRODUCT VARCHAR(25),
CONSTRAINT pk_name PRIMARY KEY (ID),
CONSTRAINT uq_name UNIQUE (GROUP_ID, PRODUCT)
)
역할을 다른 열을합니다.
가능하지만 반복 기본 키가 있으므로 정규화되지 않습니다. 기본 키는 고유해야하며 1
은 한 번만 발생할 수 있습니다. 각 product
에 대해 ID
의 사용자 정의가있는 경우 복합 기본 키 (id, product)
또는 대리 키를 사용하십시오. 서로 게이트 키는 행을 고유하게 식별하는 자동 증가 열입니다. 귀하의 표는 다음과 같을 것이다 :이이 독특한 것을 의미로
CREATE TABLE fruits (
auto_id int AUTO_INCREMENT PRIMARY KEY,
id int,
product varchar(15))
당신은 ID 컬럼에 대한 기본 키를 만들 수 없습니다. 예를 들어 일반 색인을 가져 가십시오.
반면에 대부분의 경우 기본 키를 사용하는 것이 좋으므로 일반 INDEX가있는 세 번째 행 (GENRE?)을 추가하고 기본 키를 그대로 두는 것이 좋습니다.
데이터를 삽입 할 때 GENRE와 PRODUCT를 삽입하면 ID가 자동으로 입력됩니다.
기본 키의 전체 지점입니다. 정의에 따라 고유해야합니다. 고유하지 않은'ID'가 필요할 경우 PK로 정의하지 마십시오. 당신이 단지'CREATE TABLE 제품 (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, GROUP_ID INT NOT NULL, PRODUCT VARCHAR())을 원한다고 들리는데, –
@MichaelBerkowski는 완전히 맞습니다. 대신 id 열을 건드리지 않고 대신이 항목에 대한 새 항목을 만들거나 ** uid **와 같은 기본 이름으로 바꾸고 ** id **라는 이름의 보조 (비 PK)를 만듭니다. – inhan