私はPostgreSQLとDBeaver(コミュニティエディションバージョン5.1.6)の両方の新規ユーザーであり、テーブルに自動インクリメントID列を作成する方法を探していましたDBeaver GUIを使用して。
私の研究から私はそれを見ることができます:
これは、SQLを使用して簡単に設定できます。 id SERIAL NOT_NULL
根本的な問題は、「シリアルデータタイプ」などはなく、SERIALはnextval( 'table_name_id_seq')と同等であるということです。
SQLのSERIALコマンドを使用してテーブルを作成すると、結果のid列の 'Default'属性にnextval( 'exampletable_id_seq' :: regclass ')値が含まれます。
たとえば、新しいテーブルでDBeaverの列の「デフォルト」属性内にnextval()コマンドを手動で入力しようとしました。 nextval( 'mytable_id_seq')と ':: regclass;の有無。ただし、これは機能していません。
SQLでこれを行う方が簡単であり、以前に尋ねられた質問があることを感謝します DBeaver&PostgreSQLのシリアルデータ型の問題 。
ただし、満足のいく答えが見つからなかったため、特にDBeaver GUIを介して他のセットアップを実行している場合は、GUIを介してこれを実行できるオプションが役立つでしょう。
具体的には、私の質問は:
GUIを介して自動インクリメントIDを追加するDBeaverの機能はありますか?
もしそうなら、これを行うためのステップは何でしょうか。
みんなありがとう!
上記の質問に対する非常に役立つコメントを確認したところ、DBeaverの経験が不足しているために質問が出されたことがわかりました。
完全を期すために、私の質問に対する回答を以下に示します。
はい、DBeaver GUIから直接自動インクリメントする方法があります。
これは、タイプがserialの列を設定し、「null以外」をチェックしてテーブルを作成するときに、id変数を設定することで実行できます。制約を通じてidを主キーとして設定します。
下に添付されているスクリーンショット:
PostgreSQLの動作により、 'Serial'タイプは一連の数字を使用できる疑似タイプです( http://www.postgresqltutorial.com/postgresql-serial/ )。
したがって、DBeaverでは、テーブルを設定すると、「シリアル」タイプではなく、次のように表示されます。
これはPostgreSQLやDBeaverに精通しているすべての人にとって非常に明白な回答であることを感謝します。ご理解いただきありがとうございます:)