반응형
ALTER 테이블-MySQL에 AUTOINCREMENT 추가
on column을 사용하여 MySQL에서 테이블을 만들었습니다 itemID
. 테이블을 만든 후 이제이 열을 AUTOINCREMENT
. ALTER 문을 사용하여 어떻게 할 수 있습니까?
테이블 정의 :
ALLITEMS (itemid int(10) unsigned, itemname varchar(50))
다음 코드를 사용하고 있지만 오류가 발생합니다 : syntax invalid .
ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTOINCREMENT;
CREATE TABLE ALLITEMS(
itemid INT(10)UNSIGNED,
itemname VARCHAR(50)
);
ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10)AUTO_INCREMENT PRIMARY KEY;
DESC ALLITEMS;
INSERT INTO ALLITEMS(itemname)
VALUES
('Apple'),
('Orange'),
('Banana');
SELECT
*
FROM
ALLITEMS;
이전에도 CHANGE
및 MODIFY
키워드 와 혼동했습니다 .
ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10)AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE ALLITEMS MODIFY itemid INT(5);
여기에있는 동안 AUTO_INCREMENT
미리 정의 된 번호로 시작할 수도 있습니다.
ALTER TABLE tbl AUTO_INCREMENT = 100;
구문 :
ALTER TABLE `table1` CHANGE `itemId` `itemId` INT( 11 ) NOT NULL AUTO_INCREMENT
그러나 테이블에는 정의 된 키 (예 : itemId의 기본 키)가 필요합니다.
ALTER TABLE `ALLITEMS`
CHANGE COLUMN `itemid` `itemid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
OP의 기존 테이블에 AUTO_INCREMENT PRIMARY KEY를 추가하기위한 기본 구문 :
ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY;
또는 새 테이블의 경우 다음 문서 의 구문 예제입니다 .
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
함정 및 참고 사항 :
- An
AUTO_INCREMENT
column must have an index on it. (Usually, you'll want it to be the PRIMARY KEY, but MySQL does not require this.) - It's usually a good idea to make your
AUTO_INCREMENT
columnsUNSIGNED
. From the docs:Use the UNSIGNED attribute if possible to allow a greater range.
- When using a
CHANGE
orMODIFY
clause to make a columnAUTO_INCREMENT
(or indeed whenever you use aCHANGE
orMODIFY
clause) you should be careful to include all modifiers for the column, likeNOT NULL
orUNSIGNED
, that show up in the table definition when you callSHOW CREATE TABLE yourtable
. These modifiers will be lost otherwise.
ALTER TABLE allitems
CHANGE itemid itemid INT(10) AUTO_INCREMENT;
ALTER TABLE tblcatalog
CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT FIRST;
ALTER TABLE t_name modify c_name INT(10) AUTO_INCREMENT PRIMARY KEY;
참고URL : https://stackoverflow.com/questions/6957370/alter-table-adding-autoincrement-in-mysql
반응형
'Program Tip' 카테고리의 다른 글
Visual Studio 2013에서 SSRS (.rptproj) 파일을 열려면 어떻게하나요? (0) | 2020.11.18 |
---|---|
함수 인수를 사용한 메서드 체인 (0) | 2020.11.17 |
Mocha로 Express 앱을 테스트하려면 어떻게하나요? (0) | 2020.11.17 |
Json에서 getString ()과 optString ()의 차이점 (0) | 2020.11.17 |
Pandas 데이터 프레임의 열을 1 위로 이동 하시겠습니까? (0) | 2020.11.17 |