2012-11-21 51 views
0

我有一個使用Derby的數據庫,並且試圖在具有「GENERATED BY DEFAULT AS IDENTITY」列的表上執行更新語句。我不是想更新這一欄,而是所有其他的。更新表與默認爲GENERATED BY IDENTITY列

我似乎無法找到正確的語法來更新其餘列而不會出現諸如「嘗試修改標識列」之類的錯誤。

嘗試更新表我已經使用UPDATE命令,

UPDATE TableName SET Name = '...', ..., WHERE Name = '...' 

表中的第一個值是具有GENERATED BY DEFAULT AS IDENTITY設計ID字段,我不想更新此值,我只想更新UPDATE命令中的所有其他字段。我不知道如何跳過更新這個值,或者直接更新自己的ID字段。

在此先感謝。

+1

你試過什麼陳述?更多細節總是幫助!編輯你的問題來顯示一個實際的例子,用你用來創建表的CREATE TABLE語句,以及你遇到錯誤的UPDATE語句。並將實際的錯誤信息粘貼到您的問題中! –

+0

我會立即更新。謝謝。 – ojap

回答

2

所以,這就是我所做的;它工作得很好。你能確定你所做的與此不同嗎?

ij> create table t1 (a int generated by default as identity, b int); 
0 rows inserted/updated/deleted 
ij> insert into t1 (b) values (1); 
1 row inserted/updated/deleted 
ij> update t1 set b=2 where b = 1; 
1 row inserted/updated/deleted 
ij> select * from t1; 
A   |B   
----------------------- 
1   |2   
1 row selected 
+0

我已經解決了這個問題,你的語法示例幫我找到了我的錯誤。謝謝! – ojap