2012-04-23 13 views
21

Co to jest odpowiednik MSSQL IDENTITY Kolumny w MySQL? Jak utworzyć tę tabelę w MySQL?Równoważnik kolumny MSSQL IDENTITY w MySQL

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

Jeśli tylko MySQL dostarczył pewien rodzaj [dokumentacji] (ht tp: //dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html) – JohnFx

+3

true @JohnFx, chociaż osobiście wolałbym przejść do StackOverflow niż ta strona z mojego Google'a. – JumpingJezza

Odpowiedz

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

Dzięki za odpowiedź nadzieja może ci się zwrócić :) –

+0

To nie działa dla mnie (5.6.10, to jest Aurora, ale składnia powinna działać identycznie): 'Błąd SQL (1075): Niepoprawna definicja tabeli; może istnieć tylko jedna kolumna automatyczna i musi być zdefiniowana jako klucz ". – 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; 

Powyższa przykładzie użyto składni AUTO_INCREMENT. Możesz określić początkowe przesunięcie charakterystyczne dla tabeli.

Przyrostka przyrostowo należy jednak ustawić globalnie.

SET @@auto_increment_increment=10;

Można również ustawić globalną domyślne dla offsetu jak następuje:

SET @@auto_increment_offset=5;

Aby wyświetlić bieżące wartości, typ SHOW VARIABLES LIKE 'auto_inc%';