2012-04-23 2 views
21

MSSQL IDENTITY에 해당하는 것은 무엇입니까? MySQL에서이 테이블을 어떻게 만들 수 있습니까?MySQL의 MSSQL IDENTITY 열에 해당합니다.

CREATE TABLE Lookups.Gender 
(
    GenderID INT   IDENTITY(1,1) NOT NULL, 
    GenderName VARCHAR(32) NOT NULL 
); 
+3

경우에만 MySQL은 어떤 종류의 [documentation] (ht tp : //dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html) – JohnFx

+3

true @ JohnFx 개인적으로는 내 인터넷 검색에서 해당 사이트보다 StackOverflow로 이동하는 것이 좋습니다. – JumpingJezza

답변

42
CREATE TABLE Lookups.Gender 
(
    GenderID INT   NOT NULL AUTO_INCREMENT, 
    GenderName VARCHAR(32) NOT NULL 
); 
+1

답장을 보내 주셔서 감사합니다. –

+0

이것은 (5.6.10; 오로라이지만 구문은 동일하게 작동해야합니다) :'SQL Error (1075) : Incorrect table definition; 하나의 자동 열만있을 수 있으며 키로 정의되어야합니다. – mbourgon

+1

@mbourgon https://stackoverflow.com/questions/8645889/there-can-be-only-one-auto-column –

5
CREATE TABLE `Persons` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `LastName` varchar(255) NOT NULL, 
    `FirstName` varchar(255) DEFAULT NULL, 
    `Address` varchar(255) DEFAULT NULL, 
    `City` varchar(255) DEFAULT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=latin1; 

이 상기 예는 AUTO_INCREMENT 문법을 사용한다. 테이블에 특정한 시작 오프셋을 지정할 수 있습니다.

증분은 전체적으로 설정되어야합니다.

SET @@auto_increment_increment=10;

당신은 또한 같은 오프셋 다음에 대한 전역 기본값을 설정할 수 있습니다

SET @@auto_increment_offset=5;

현재 값을 보려면 다음을 입력 SHOW VARIABLES LIKE 'auto_inc%';

관련 문제