私はderby Netbeansでテーブルを作成しましたが、列を1ずつ自動インクリメントする必要があることに気付きました主キーです。どうすればできますか?次のコードを試してみましたが、無駄でした。
ALTER TABLE ISSUERECIPT ALTER IRCODE SET INCREMENT BY 1;
テーブルをもう一度作成する必要がありますか、それとも他の方法で可能ですか?
別の解決策を見つけたので、データベースから列を削除し(vels4jに感謝)、次のようにnetbeans derby UIからもう一度列を追加しました。
自動生成されるように列を変更するには、コードは
ALTER TABLE ISSUERECIPT ALTER IRCODE SET INCREMENT BY 1;
ただし、列は既にIDENTITY属性で定義されている必要があります(この documentation で記述されているとおり)。
ほとんどの場合(あなたも同じだと仮定します)、主キー列はIDENTITYとして設定されません。したがって、列をIDENTITYに変更することもできますが、それは不可能です。
here と書かれているように、唯一の方法はテーブルを削除して再作成することです。
ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;
ALTER TABLE ISSUERECIPT ADD IRCODE INTEGER NOT NULL primary key GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
私はあなたのために何かをすることができると思います
これをチェックして
ALTER TABLE ISSUERECIPT
ALTER IRCODE INTEGER NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1);
テーブルが空の場合は、これを試してください
ALTER TABLE DROP PRIMARY KEY your_primaryKeyContrainName ;
ALTER TABLE ISSUERECIPT DROP COLUMN IRCODE ;
ALTER TABLE ISSUERECIPT ADD COLUMN
IRCODE PRIMARY KEY INTEGER NOT NULL
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1);
関連項目:Derby ALTER TABLE構文