sql >> データベース >  >> RDS >> PostgreSQL

カスタムSERIAL/値のグループごとの自動インクリメント

    これは何度も聞かれ、一般的な考え方はマルチユーザー環境では失敗するはずです -そしてブログシステムはまさにそのような場合のように聞こえます。

    したがって、最良の答えは次のとおりです。しないでください。 別のアプローチを検討してください。

    category_idを削除します テーブルから完全に-他の2つの列(id, category)には情報が格納されません まだ保存しません。

    あなたのid serialです 列とすでに信頼できる方法で自動インクリメントします。

    • SQL関数の自動インクリメント

    必要の場合 ある種のcategory_id categoryごとにギャップなし 、row_number()を使用してオンザフライで生成します :

    • 複合キーの行のグループごとのシリアル番号


    1. テーブルのセットでCDCを有効にする方法、またはSQLServerのデータベース内のすべてのテーブルで有効にする方法-SQLServerチュートリアル

    2. MariaDBまたはMySQLデータベースの物理バックアップを作成する

    3. ウェビナー:PostgreSQL11の新機能[フォローアップ]

    4. django.db.utils.ProgrammingError:関係はすでに存在します