테이블의 ID를 다른 고유 한 값으로 변경하려고합니다.sql : 기본 키를 다른 고유 한 요소 목록으로 변경
CREATE TABLE IF NOT EXISTS test (
id int(11) NOT NULL,
reverse_id int(11) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY reverse_id (reverse_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test (id, reverse_id) VALUES ('1', '2'), ('2', '1');
UPDATE test SET id = reverse_id;
# Duplicate entry '2' for key 'PRIMARY'
난 단지 아이디 요소의 고유성에 대한 UPDATE의 끝에서 검사 명령을 찾고 : 이 단순화 된 예입니다.
[두 번째 행을 만들고이 행의 상태를 기본으로 변경 한 다음 ID를 업데이트하고 기본 상태를 재설정 할 수 있음을 알고 있지만 다른 행을 추가하거나 변경하지 않고 하나의 명령을 갖고 싶습니다. , 테이블]
기본 키를 삭제할 수 있지만 MySQL은 단순히 숨겨진 정수 기본 키를 생성하여 요구 사항을 위반하게됩니다. – Johan