2013-02-28 59 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