2016-06-30 52 views
0

因此,我試圖在Netbeans中創建一個Derby數據庫,以便稍後可以構建與它進行交互的應用程序,並且我陷入了一個令人困惑但可能很簡單的錯誤。在我的SQL語句中,「or」是什麼錯誤?

具體來說,我試圖爲PK(主鍵)列創建自動遞增序列。

我創建序列的代碼如下。

--Creating sequences here 
--Pk sequence for characters table here 
CREATE OR REPLACE SEQUENCE characters_pk_sequence MINVALUE 1 START WITH 1 INCREMENT BY 1; 
-- End of PK sequence for characters table here 

控制檯錯誤如下。

Error code 30000, SQL state 42X01: Syntax error: Encountered "OR" at line 1, column 8. 

這不是我嘗試的唯一方法,我嘗試了其他方法,如互聯網描述的,但他們也沒有工作。夥計們,我在這裏做錯了什麼?

編輯:已解決的傢伙。然而,我不能接受我自己的答案,再過兩天。

+1

很明顯你的數據庫不支持序列的「創建或替換」。 –

回答

0

(回答我自己的問題,感覺很奇怪。) 所以我想出瞭如何做我正在嘗試做的事情。 (即自動遞增PK)這個版本的數據庫軟件的工作方式與我以前第一次使用的先前版本的工作方式不同。

我在stackoverflow question找到了合適的答案。

要在德比自動遞增的鍵,你可以做到這一點的表像這樣

CREATE TABLE characters(
hp INTEGER, 
hp_max INTEGER, 
armor INTEGER, 

-- Various other table columns, etc. 

char_pk INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
    (START WITH 1, INCREMENT BY 1) 
); 

這樣做,讓我創建一個自動遞增的PK,而無需在其他地方指定它,這非常棒。

+0

難道不是有時候當你最終尋求某物的幫助時,這個答案最終會在你的腿上突然下降嗎?就像一巴掌? – Roknikus