programing

mysql, alter column remove primary key and auto increment

bestprogram 2023. 10. 14. 10:22

mysql, alter column remove primary key and auto increment

id(auto)에서 id로 mysql db 테이블을 변경합니다.

ALTER TABLE companies DROP PRIMARY KEY;
ALTER TABLE companies ADD PRIMARY KEY (`uuid`);

이것이 제가 받는 오류입니다.

[SQL] ALTER TABLE companies DROP PRIMARY KEY;
[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

알겠습니다, 기본 키로 id를 떨어뜨리기 때문에 non-autoincrement로 변경해야 합니다.?기본 키와 자동 증분을 제거하기 위해 열을 변경하는 구문은 무엇입니까?

ALTER TABLE companies change id id ?????????? int(11)

자동 증가 키와 기본 키를 제거해야 하는 경우id단일 SQL 문에 있는 열은 다음과 같은 역할을(를)

ALTER TABLE companies DROP PRIMARY KEY, CHANGE id id int(11);

사실, 당신은 모든 것을 한 번에 할 수 있어야 합니다.ALTER TABLE쿼리:

ALTER TABLE companies
DROP PRIMARY KEY,
CHANGE id id int(11),
ADD PRIMARY KEY (uuid);

사용할 수 있는 열의 이름을 변경하지 않을 때MODIFY:

ALTER TABLE `companies` MODIFY `id` int(11), 
                           DROP PRIMARY KEY, 
                   ADD PRIMARY KEY (`uuid`);

이 모든 것을 하나의 변경 문에서 수행하면 원자로 처리되기 때문에 쿼리 간에 불일치가 발생할 가능성이 없습니다(여러 개의 문을 행으로 실행하는 것과는 달리).

자동 증분 제거에 대한 쿼리는 다음과 같습니다.

alter table companies DROP PRIMARY KEY,
change id id int(11) NOT NULL

이제 자동 증분이 없는 테이블의 구조를 확인할 수 있습니다.

기본 키를 다른 열에 추가하려면 이 쿼리를 사용합니다.

alter table companies add PRIMARY KEY(uuid)

자동 증분, 기본 키를 삭제하고 같은 쿼리의 새 열에 기본 키를 추가하려면 이 쿼리를 사용합니다.

alter table comapnies DROP PRIMARY KEY,
   change id id int(11) NOT NULL,
   add PRIMARY KEY(uuid)

기본 키와 auto_increment를 제거하기 위해 열을 변경하는 구문입니다.

ALTER TABLE table_name DROP PRIMARY KEY,
CHANGE old_key_name new_key_name new_column_datatype

당신의 경우 다음과 같은 대답이 있습니다.

ALTER TABLE companies DROP PRIMARY KEY, CHANGE ID UID;

기본 키를 삭제하려면 다음 구문을 사용하여 동시에 해당 기본 키에서 auto_increment를 삭제해야 합니다.

ALTER TABLE table_name DROP PRIMARY KEY,
MODIFY primary_column_name datatype

변경은 컬럼의 이름과 데이터 타입을 변경하는데 사용되므로 변경 대신 modify를 사용하여 이전의 경우와 같이 컬럼의 데이터 타입만 변경할 수 있습니다.

외부 키 열이 있는 경우 제약 조건을 먼저 삭제해야 합니다.자동 증분을 제거하는 방법은 다음과 같습니다.

ALTER TABLE portal_user_privileges DROP FOREIGN KEY FK__privileges; 

alter table privileges DROP PRIMARY KEY;

alter table privileges add PRIMARY KEY(id);

ALTER TABLE portal_user_privileges ADD CONSTRAINT FK__privileges FOREIGN KEY (privileges_id) REFERENCES privileges(id)  ON UPDATE NO ACTION ON DELETE NO ACTION;

언급URL : https://stackoverflow.com/questions/3090442/mysql-alter-column-remove-primary-key-and-auto-incremement