2012-04-23 29 views
21

Tương đương với MSSQL IDENTITY Cột trong MySQL là gì? Làm thế nào tôi sẽ tạo ra bảng này trong MySQL?Tương đương cột MSSQL IDENTITY trong MySQL

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

Nếu chỉ MySQL cung cấp một số loại [tài liệu] (ht tp: //dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html) – JohnFx

+3

true @JohnFx, mặc dù cá nhân tôi muốn truy cập StackOverflow hơn trang web đó từ googling của tôi. – JumpingJezza

Trả lời

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

Cảm ơn câu trả lời của bạn hy vọng có thể trả lại cho bạn :) –

+0

Điều này không hiệu quả đối với tôi (5.6.10; đây là Aurora nhưng cú pháp phải hoạt động giống nhau): 'Lỗi SQL (1075): Định nghĩa bảng không chính xác; chỉ có thể có một cột tự động và cột này phải được xác định là khóa'. – 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; 

ví dụ trên này sử dụng cú pháp AUTO_INCREMENT. Bạn có thể chỉ định một bù trừ bắt đầu cụ thể cho bảng.

Các Tăng thêm, tuy nhiên, phải được đặt trên toàn cầu.

SET @@auto_increment_increment=10;

Bạn cũng có thể thiết lập mặc định toàn cầu cho bù đắp như sau:

SET @@auto_increment_offset=5;

Để xem giá trị hiện tại của bạn, loại SHOW VARIABLES LIKE 'auto_inc%';

Các vấn đề liên quan