[SQL] AUTO_INCREMENT이 될 수있는 MySQL의 컬럼을 변경합니다
SQLAUTO_INCREMENT이 될 수있는 MySQL의 컬럼을 변경합니다
나는 사실 후 기본 키 열 AUTO_INCREMENT를 만들기 위해 테이블을 수정하기 위해 노력하고있어. 나는 다음과 같은 SQL을 시도했지만 구문 오류 알림을 가지고있다.
ALTER TABLE document
ALTER COLUMN document_id AUTO_INCREMENT
내가 뭔가 잘못하고 또는 가능한이없는 건가요?
+--------------------+ | VERSION() | +--------------------+ | 5.0.75-0ubuntu10.2 | +--------------------+
해결법
-
==============================
1.
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment
-
==============================
2.로마의 오른쪽이지만, 노트는 AUTO_INCREMENT 컬럼이 PRIMARY KEY 또는 UNIQUE KEY의 일부가 될 수 있어야 (그리고 경우 거의 100 %, 그것은 기본 키를 구성하는 유일한 열이어야한다) :
로마의 오른쪽이지만, 노트는 AUTO_INCREMENT 컬럼이 PRIMARY KEY 또는 UNIQUE KEY의 일부가 될 수 있어야 (그리고 경우 거의 100 %, 그것은 기본 키를 구성하는 유일한 열이어야한다) :
ALTER TABLE document MODIFY document_id INT AUTO_INCREMENT PRIMARY KEY
-
==============================
3.내가 널이 아닌 둘 때 내 경우 만했다. 나는이 제약 생각합니다.
내가 널이 아닌 둘 때 내 경우 만했다. 나는이 제약 생각합니다.
ALTER TABLE document MODIFY COLUMN document_id INT NOT NULL AUTO_INCREMENT;
-
==============================
4.이 작업을 수행하는 SQL은 다음과 같습니다
이 작업을 수행하는 SQL은 다음과 같습니다
ALTER TABLE `document` MODIFY COLUMN `document_id` INT AUTO_INCREMENT;
당신의 SQL이 작동하지 않을 수 있다는 몇 가지 이유가 있습니다. 첫째, 당신은 (이 경우 INT) 데이터 형식을 다시 지정해야합니다. 또한, 당신은 변경하고자하는 열은 (는 기본 키가 될 필요는 없지만 일반적으로 그게 당신이 원하는 것이 무엇인가) 인덱스해야합니다. 또한, 각 테이블에 대한 하나 AUTO_INCREMENT 열이있을 수있다. 그래서, 당신은 (당신의 열이 인덱싱되지 않은 경우) 다음과 같은 SQL을 실행하실 수 있습니다 :
ALTER TABLE `document` MODIFY `document_id` INT AUTO_INCREMENT PRIMARY KEY;
수정 열 구문과 http://dev.mysql.com/doc에 대한 http://dev.mysql.com/doc/refman/5.1/en/alter-table.html : 당신은 MySQL의 문서에서 더 많은 정보를 찾을 수 있습니다 열을 지정하는 방법에 대한 자세한 내용은 /refman/5.1/en/create-table.html.
-
==============================
5.AUTO_INCREMENT 컬럼의 데이터 타입의 일부가 다시 열에 대한 전체 데이터 유형을 정의 할 수 있습니다 :
AUTO_INCREMENT 컬럼의 데이터 타입의 일부가 다시 열에 대한 전체 데이터 유형을 정의 할 수 있습니다 :
ALTER TABLE document ALTER COLUMN document_id int AUTO_INCREMENT
(예로 들어 INT, 당신은 열이 전에했던 유형으로 설정해야합니다)
-
==============================
6.당신은 AUTO_INCREMENT 지시어 전에 컬럼의 유형을 지정해야합니다, 즉 ALTER 표 문서 MODIFY 열 INT AUTO_INCREMENT는 DOCUMENT_ID.
당신은 AUTO_INCREMENT 지시어 전에 컬럼의 유형을 지정해야합니다, 즉 ALTER 표 문서 MODIFY 열 INT AUTO_INCREMENT는 DOCUMENT_ID.
-
==============================
7.당신은 이런 식으로 작업을 수행 할 수 있습니다 :
당신은 이런 식으로 작업을 수행 할 수 있습니다 :
alter table [table_name] modify column [column_name] [column_type] AUTO_INCREMENT;
-
==============================
8.AUTO_INCREMENT 컬럼의 데이터 타입의 일부가 다시 열에 대한 전체 데이터 유형을 정의 할 수 있습니다 :
AUTO_INCREMENT 컬럼의 데이터 타입의 일부가 다시 열에 대한 전체 데이터 유형을 정의 할 수 있습니다 :
ALTER TABLE document MODIFY COLUMN document_id int AUTO_INCREMENT
(예로 들어 INT, 당신은 열이 전에했던 유형으로 설정해야합니다)
-
==============================
9.자동 증가에가 document_ID 확인하기 위해 다음 쿼리를 사용할 수 있습니다
자동 증가에가 document_ID 확인하기 위해 다음 쿼리를 사용할 수 있습니다
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment
기본 키도가 document_ID 수 있도록하는 것이 바람직하다
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment PRIMARY KEY;
-
==============================
10.문 작품 아래. 당신이 열 이름 (데이터가 열이 예전 입력 재 선언) 다시 데이터 유형을 언급 할 필요가 있습니다.
문 작품 아래. 당신이 열 이름 (데이터가 열이 예전 입력 재 선언) 다시 데이터 유형을 언급 할 필요가 있습니다.
ALTER TABLE document MODIFY COLUMN document_id int AUTO_INCREMENT;
-
==============================
11.위의 작품 중 누구도 이것을 시도하지 않는 경우. 이것은 내가 MYSQL에 무슨 짓을하고 그래, 당신은 두 번 열 이름 (가 document_ID)을 작성해야합니다.
위의 작품 중 누구도 이것을 시도하지 않는 경우. 이것은 내가 MYSQL에 무슨 짓을하고 그래, 당신은 두 번 열 이름 (가 document_ID)을 작성해야합니다.
ALTER TABLE document CHANGE COLUMN document_id document_id INT(11) NOT NULL AUTO_INCREMENT ;
-
==============================
12.우리가 ALTER 사용 및 키워드를 수정 MySQL의에서 열을 수정합니다. 우리가 테이블 등으로 만든 가정 :
우리가 ALTER 사용 및 키워드를 수정 MySQL의에서 열을 수정합니다. 우리가 테이블 등으로 만든 가정 :
create table emp( id varchar(20), ename varchar(20), salary float );
이제 우리는 자동 증가와 정수로 열 ID의 유형을 수정하고 싶습니다. 당신은 같은 명령으로이 작업을 수행 할 수 있습니다 :
alter table emp modify column id int(10) auto_increment;
-
==============================
13.이전 표 구문 :
이전 표 구문 :
CREATE TABLE apim_log_request (TransactionId varchar(50) DEFAULT NULL);
자동차로는 TransactionId을 변경하면이 쿼리를 사용 증가를 위해
ALTER TABLE apim_log_request MODIFY COLUMN TransactionId INT auto_increment;
-
==============================
14.
alter table tbl_user MODIFY COLUMN id int(10) auto_increment;
-
==============================
15.다만이 같은 :
다만이 같은 :
테이블 변경 문서 수정 열 ID의 INT (11) AUTO_INCREMENT;
-
==============================
16.다시 열을 재정의, 당신은 다시 데이터 유형을 지정하고이 데이터 타입의 일부이기로에 AUTO_INCREMENT를 추가해야합니다.
다시 열을 재정의, 당신은 다시 데이터 유형을 지정하고이 데이터 타입의 일부이기로에 AUTO_INCREMENT를 추가해야합니다.
ALTER TABLE `document` MODIFY COLUMN `document_id` INT AUTO_INCREMENT;
-
==============================
17.
mysql> ALTER TABLE persons MODIFY COLUMN personID INT auto_increment PRIMARY KEY; Query OK, 10 rows affected (0.77 sec) Records: 10 Duplicates: 0 Warnings: 0 mysql>
-
==============================
18.ALTER TABLE의 TABLE_NAME MODIFY의 열 ID 데이터 유형 AUTO_INCREMENT;
ALTER TABLE의 TABLE_NAME MODIFY의 열 ID 데이터 유형 AUTO_INCREMENT;
-
==============================
19.다음 쿼리를 사용합니다 :
다음 쿼리를 사용합니다 :
ALTER TABLE YourTable DROP COLUMN IDCol ALTER TABLE YourTable ADD IDCol INT IDENTITY(1,1)
from https://stackoverflow.com/questions/2169080/alter-a-mysql-column-to-be-auto-increment by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 다른 열 하나의 그룹에 하나의 열의 다수 연결할 결과 행 [중복] (0) | 2020.04.03 |
---|---|
[SQL] 데이터베이스 테이블의 컬럼의 목록을 저장하는 방법 (0) | 2020.04.03 |
[SQL] PostgreSQL의에서 테이블의 행 수를 발견하는 빠른 방법 (0) | 2020.04.03 |
[SQL] JSON에 ResultSet의 대부분의 효율적인 변환? (0) | 2020.04.03 |
[SQL] 두 개의 SELECT 문 결과를 가입 (0) | 2020.04.03 |