我有以下的列的表:甲骨文 - 修改現有表自動遞增列
NOTEID NUMBER NOT NULL,
對於所有意圖和目的,這列是主鍵。這張表有幾千行,每行都有一個唯一的ID。之前,應用程序將從表中選擇MAX()值,添加一個,然後將其用作下一個值。這是一個可怕的解決方案,並且不是事務或線程安全的(實際上,在他們甚至沒有對列進行UNIQUE約束之前,我可以看到相同的NOTEID在9個不同的場合中被複制)。
我對Oracle非常陌生,所以我想知道改變這個表的最好的語法,並且讓這個列自動增量。如果可能的話,我想讓序列中的下一個值是表格中的MAX(NOTEID)+ 1,或者只是讓它開始800。謝謝!
是否有可能如果沒有特別指定,將列默認爲序列中的下一個值? –
@Mike - 您在實現該邏輯的表上創建一個觸發器,當然 –
明白了 - 所以它不像Postgres那樣可以使DEFAULT值或具有值增加的「SERIAL」列類型的mySQL 。 –