auto_increment的标准化方式

时间:2013-02-28 23:24:50

标签: sql standards

我是否有一种标准化的方法可以在SQL中创建一个具有自动增量的列(我们称之为ID)的表,以便我可以在所有数据库中基本使用它?

(例如,在SQL-92中标准化) 如果是这样 - 怎么样?如果没有,为什么?我认为auto_increment是一个经常使用的属性,所以我认为标准化它是非常重要的......

2 个答案:

答案 0 :(得分:2)

不,抱歉。 MySQL中有AUTO_INCREMENT,但是例如在MS SQL中,这称为IDENTITY。许多事情在SQL中并没有真正标准化 - 大多数都在模式创建领域。

这是一团糟,但你可以使用像Hibernate / NHibernate尝试使用单个代码库。

答案 1 :(得分:0)

您可以使用所谓的身份列

CREATE TABLE foo(id int GENERATED ALWAYS AS IDENTITY);

这是SQL标准,并且受PostgreSQL 10和Oracle支持:

https://www.2ndquadrant.com/en/blog/postgresql-10-identity-columns/#comment-248607