2012-04-23 68 views
21

MSSQL中相當於什麼IDENTITY MySQL中的列?我如何在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 2012-04-23 15:48:18

+3

true @JohnFx,雖然我個人更喜歡使用StackOverflow,而不是使用Google搜索的網站。 – JumpingJezza 2015-07-01 01:38:37

回答

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

感謝您的回答,希望能回報您:) – 2012-04-23 15:48:18

+0

這不適用於我(5.6.10;這是極光,但語法應該相同):SQL錯誤(1075):不正確的表定義;只能有一個自動列,並且必須將其定義爲一個鍵。 – mbourgon 2017-10-02 20:56:23

+1

@mbourgon https://stackoverflow.com/questions/8645889/there-can-be-only-one-auto-column – 2017-10-02 20:59:35

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%';

相關問題