MySQL中MSSQL IDENTITY列的等价物

Posted

技术标签:

【中文标题】MySQL中MSSQL IDENTITY列的等价物【英文标题】:Equivalent of MSSQL IDENTITY Column in MySQL 【发布时间】: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,虽然我个人更喜欢通过谷歌搜索访问 ***。 【参考方案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 @mbourgon ***.com/questions/8645889/…【参考方案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%';

【讨论】:

以上是关于MySQL中MSSQL IDENTITY列的等价物的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL 与 MYSQL 中的语句等价

错误 3622 - 访问具有 IDENTITY 列的 SQL Server 表时,必须将 dbSeeChanges 选项与 OpenRecordset 一起使用

mssql名词解释

相当于mySQL中的SQL Server函数SCOPE_IDENTITY()?

Python-MSSQL (pymssql) 设置字段Identity Column

为啥 SCOPE_IDENTITY() 不返回我插入的 ID?