반응형
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_INCREMENTcolumn 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_INCREMENTcolumnsUNSIGNED. From the docs:Use the UNSIGNED attribute if possible to allow a greater range.
- When using a
CHANGEorMODIFYclause to make a columnAUTO_INCREMENT(or indeed whenever you use aCHANGEorMODIFYclause) you should be careful to include all modifiers for the column, likeNOT NULLorUNSIGNED, 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 |