Firebirdを使用して自動インクリメントフィールドを作成する簡単な方法はありますか?私はFlameRobin管理ツールをインストールしましたが、ツールを使って自動インクリメントフィールドを作成するプロセスは複雑です。チェックボックスをクリックするか、Flamerobin以外のツールを使用するだけで、このようなIDフィールドを作成することはできませんか?Firebirdデータベースに自動インクリメントフィールドを作成する最も簡単な方法
5
A
答えて
16
Firebird 2.5以前では、自動インクリメントフィールドはありません。シーケンス(別名ジェネレータ)とトリガーを使用して自分で作成する必要があります。
シーケンスはSQLの標準用語であり、ジェネレータはFirebirdの歴史的な用語であり、どちらも使用されています。 create a sequenceへ
:
CREATE SEQUENCE t1_id_sequence;
常にプライマリキーID
とテーブルT1
にIDを生成するトリガーを作成するには:
set term !! ;
CREATE TRIGGER T1_AUTOINCREMENT FOR T1
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ID = next value for t1_id_sequence;
END!!
set term ; !!
も参照してください:How to create an autoincrement column?
火の鳥3はこれを少し簡単にしますID列実際には、シーケンス+トリガを生成するための構文的な砂糖です。例えば
create table t1 (
id integer generated by default as identity primary key
)
Firebirdの3ユーザーのみが(値の誤差が重複する可能性があります)自分のID値を指定することが可能であることを意味する、「generated by default
」をサポートします。 "generated always
"が追加されます。
Firebird 3 release notesセクション「アイデンティティ列タイプ」も参照してください。
Flamerobinは、あなたのためにシーケンス+トリガーを作成するツールも提供します。既存のテーブルを持っている場合は、次の手順を実行することができます。
関連する問題
- 1. 作成と最も簡単な方法
- 2. 簡単な3Dアイオスアプリを作成する最も簡単な方法
- 3. 円アニメーションを作成する最も簡単な方法
- 4. C++でスレッドプールを作成する最も簡単な方法は?
- 5. 最も簡単な方法
- 6. herokuデータベースのサイズを調べる最も簡単な方法
- 7. 簡単な自動更新クライアント(Windowsサービス)の作成方法は?
- 8. 自己抽出PEを作る最も簡単な方法は何ですか?
- 9. ローカライゼーションファイルを生成する最も簡単な方法
- 10. レールに自動インクリメントフィールドを生成する
- 11. 値を返すカスタムダイアログボックスを作成する最も簡単な方法は?
- 12. Djangoデータベース機能にアクセスするPythonプログラムを作成する最も簡単な方法
- 13. NSTableViewカスタムセルを作成する最も簡単な方法は何ですか?
- 14. 環状イテレータ(サーキュレータ)を作成する最も簡単な方法は?
- 15. DelphiからOutlook 2010のメールを作成する最も簡単な方法は?
- 16. 数秒でタイマーを作成する最も簡単な方法は?
- 17. jQuery/JavaScriptで確認メッセージを作成する最も簡単な方法は?
- 18. 私自身のためにwebviewアプリを作成する最も簡単な方法は?
- 19. div fadeOutを作る最も簡単な方法
- 20. 最も簡単な一連のjavascript/jQueryイベントの最新のものを守る最も簡単な方法
- 21. 最も簡単な方法は、垂直
- 22. 最も簡単な方法realloc
- 23. UITableViewフォームを作成する最も簡単で簡単な方法は何ですか?
- 24. mysqlテーブルとPHPからサイトを作成する最も簡単で簡単な方法は何ですか?
- 25. Pythonで簡単なGUIを開発する最も簡単な方法
- 26. URLをJavaのリクエストハンドラにマップする最も簡単な方法
- 27. JsonをXmlに変換する最も簡単な方法
- 28. オブジェクトにプロパティを設定する最も簡単な方法は?
- 29. データモデルをRailsに移植する最も簡単な方法
- 30. ウェブサイトに画像をアップロードする最も簡単な方法
正確な答えを。ありがとう@マーク:) –