2012-04-23 26 views
21

¿Cuál es el equivalente de MSSQL IDENTITY Columnas en MySQL? ¿Cómo crearía esta tabla en MySQL?Equivalente a MSSQL IDENTITY Columna en MySQL

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

Si tan sólo MySQL proporcionó algún tipo de [documentación] (ht tp: //dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html) – JohnFx

+3

true @JohnFx, aunque personalmente prefiero ir a StackOverflow que a ese sitio desde mi búsqueda en Google. – JumpingJezza

Respuesta

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

Gracias por su respuesta, la esperanza podría devolverle el dinero :) –

+0

Esto no funciona para mí (5.6.10; esto es Aurora, pero la sintaxis debería funcionar de forma idéntica): 'Error de SQL (1075): definición incorrecta de la tabla; solo puede haber una columna automática y debe definirse como una clave'. – 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; 

Este ejemplo anterior utiliza la sintaxis AUTO_INCREMENT. Puede especificar un desplazamiento inicial específico de la tabla.

El Incremento, sin embargo, tiene que establecerse globalmente.

SET @@auto_increment_increment=10;

También puede establecer un valor predeterminado global para el desplazamiento como sigue:

SET @@auto_increment_offset=5;

Para ver los valores actuales, el tipo SHOW VARIABLES LIKE 'auto_inc%';

Cuestiones relacionadas