0

Derbyを使用しているデータベースがあり、「GENERATED BYDEFAULTASIDENTITY」の列を持つテーブルで更新ステートメントを実行しようとしています。私はこのコラムを更新しようとはしていませんが、他のすべてのコラムを更新しようとしています。

「ID列を変更しよう」などのエラーが発生せずに、残りの列を更新するための正しい構文が見つからないようです。

UPDATEコマンドを使用していたテーブルを更新しようとしていますが、

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

テーブル内の最初の値はGENERATED BY DEFAULT AS IDENTITYデザインのあるIDフィールドであり、この値を更新したくありませんUPDATE。コマンド内の他のすべてのフィールドを更新したいだけです。この値の更新をスキップする方法、または単にIDフィールドをそれ自体で更新する方法がわかりません。

前もって感謝します。

4

1 に答える 1

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
于 2012-11-22T17:20:57.377 に答える