여기 내 테이블 : 당신이 표에서 알 수 있듯이, id
및 template_id
기본 키입니다MySQL의 드롭 기본 키가 작동하지 않습니다
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| template_id | int(11) | NO | MUL | NULL | |
| type | smallint(6) | NO | | 2 | |
| width | varchar(100) | NO | | | |
| height | varchar(100) | NO | | | |
+-------------+--------------+------+-----+---------+----------------+
하고 id
는 AUTO_INCREMENT 설정이 있습니다.
내가하고 싶은 일은 tempalte_id
기본 키 속성을 삭제하는 것입니다. 여기
ALTER TABLE ts_template_size
DROP PRIMARY KEY,
ADD PRIMARY KEY (`id`);
쿼리가 성공적으로 실행할 수 있지만, 아무것도 변경 보인다. 경고가없고 오류가없고 tempalte_id
의 기본 키 속성이 여전히 있습니다.
어떻게 해결할 수 있습니까? 내 검색어에 무슨 문제가 있습니까? 자동 증가
ALTER TABLE ts_template_size MODIFY id INT NULL;
에 대한
가능한 복제 [SQL 키, MUL UNI 대 PRI 대 (HTTP : // 유래. com/questions/5317889/sql-keys-mul-vs-pri-vs-uni) – Dezza
왜'template_id'가 기본 키라고 생각합니까? 내가 보여준 테이블 구조에서 말할 수 없습니다. – Dezza