0
行の各更新で行のフィールドをインクリメントしてゼロから開始する、computedColumnExpressionをH2で定義する方法を教えてください。H2計算された列式で自動的に行の使用カウント列を維持する
さて、定義によって、computedColumnExpressionは更新が行われるたびに実行されます。しかし
- はどのように更新された行のusecountフィールドの前の値を参照することが可能と
- は、最初の挿入がどのように扱われますか?
私は
"usecount" INT4 (1+(SELECT IFNULL("usecount",0) from "data" WHERE ID=XXXX))
などのカラム定義で始めるでしょうが、私はXXXXのために何を使うべきでしょうか?
私はトリガーを見て、メソッドでnewRow
を更新するだけと考えましたが、これは何の効果もないようです。
最初の回答と失敗した試行では、テーブルがすでに存在し、テーブル定義がALTER TABLE "data" ADD COLUMN
である必要があることに言及する必要があります。私はそれが違いを作ることを考えていないでしょう.-(
はい、これは機能します。それ以外は、 'ALTER TABLE"データ "ADD COLUMN"で動作しないようです。申し訳ありませんが、私はこれが違いを生むとは考えていませんでした。編集:-( – Harald
を参照してください。回避策を使って 'ALTER TABLE'の問題を解決する方法を更新しました! –
これは最終的にうまくいきました。私はこれを試したと思っていましたが、別の間違いをしたに違いありません。 「as」構文が公式にここに掲載されていないので、まったく動作します:http://www.h2database.com/html/grammar.html#alter_table_alter_column、または何か不足していますか? – Harald