使用GENERATED BY DEFAULT AS IDENTITY列更新表

时间:2012-11-21 15:13:54

标签: sql derby

我有一个使用Derby的数据库,并且我正在尝试在具有“GENERATED BY DEFAULT AS IDENTITY”列的表上执行更新语句。我不是要更新这个专栏,而是所有其他专栏。

我似乎无法找到更新其余列的正确语法,而不会出现“尝试修改标识列”等错误。

尝试更新我一直使用UPDATE命令的表

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

表中的第一个值是具有GENERATED BY DEFAULT AS IDENTITY设计的ID字段,我不想更新此值,我只想更新UPDATE中的所有其他字段命令。我不知道如何跳过更新此值或只是更新ID字段。

提前致谢。

1 个答案:

答案 0 :(得分: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