2013-02-28 61 views
4

有没有一种标准化的方式,我可以在SQL中创建一个带有列的自动增量列(让我们称之为ID),这样我就可以在所有数据库中基本使用它了?auto_increment的标准化方法

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

+0

http://www.w3schools.com/sql/sql_autoincrement.asp my-sql是自动增量。 SQL服务器是身份,访问是AUTOINCREMENT – Gilad 2013-02-28 23:27:41

+1

不幸的是,自动增量没有标准。 Oracle例如仅提供序列。您可以创建一个'BEFORE INSERT'触发器来模拟自动增量行为,但是没有本地实现。 [PostgreSQL又是不同的](http://stackoverflow.com/questions/787722/postgresql-autoincrement) – Phil 2013-02-28 23:29:20

回答

2

不,对不起。 MySQL中有AUTO_INCREMENT,但例如在MS SQL中,这称为IDENTITY。许多事情在SQL中并没有真正标准化 - 而且大部分都在模式创建领域。

这是一个混乱,但你可以使用像例如Hibernate/NHibernate尝试使用单个代码库。

0

在Oracle中,你需要创建一个序列

SQLite的使用它的rowid和它如一个代名词RowIdSyn INTEGER PRIMARY KEY AUTOINCREMENT