【问题标题】:Equivalent of MSSQL IDENTITY Column in MySQLMySQL中MSSQL IDENTITY列的等价物
【发布时间】:2012-05-04 06:08:06
【问题描述】:

什么是 MSSQL IDENTITY MySQL 中的列?我将如何在 MySQL 中创建此表?

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

【问题讨论】:

  • 如果只有 MySQL 提供某种类型的documentation
  • true @JohnFx,虽然我个人更喜欢通过谷歌搜索访问 StackOverflow。

标签: mysql sql-server tsql identity


【解决方案1】:
CREATE TABLE Lookups.Gender
(
    GenderID   INT         NOT NULL AUTO_INCREMENT,
    GenderName VARCHAR(32) NOT NULL
);

【讨论】:

  • 感谢您的回答希望可以回报您:)
  • 这对我不起作用(5.6.10;这是 Aurora,但语法应该相同):SQL Error (1075): Incorrect table definition; there can be only one auto column and it must be defined as a key
【解决方案2】:
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%';

【讨论】:

    猜你喜欢
    • 2018-07-29
    • 2015-05-14
    • 2014-07-01
    • 1970-01-01
    • 2011-10-15
    • 2023-03-05
    • 1970-01-01
    • 2011-02-13
    • 2010-09-20
    相关资源
    最近更新 更多