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

PG ::UniqueViolation:エラー:重複するキー値が一意性制約に違反するのはなぜですか?

    この問題を修正するには、ActiveRecordにテーブルのシーケンスを確認するように指示する必要があります。

    ActiveRecord::Base.connection.reset_pk_sequence!('table_name')
    

    これで、ActiveRecordは正しいシーケンス値を持ち、新しいIDを適切に割り当てることができるはずです。

    エラーを解決するには

    PG ::UniqueViolation:エラー:重複するキー値が一意の制約 "moderations_reportable"に違反しています詳細:キー(reportable_type、reportable_id)=(Post、25)は既に存在します。 :INSERT INTO "moderations"( "blog_id"、 "reportable_type"、 "reportable_id"、 "created_at"、 "updated_at"、 "blog_type")VALUES($ 1、$ 2、$ 3、$ 4、$ 5、$ 6)RETURNING "id"

    'モデレーション'テーブルでエラーが発生したため。

    レールコンソールから次を実行します 修正

    ActiveRecord::Base.connection.reset_pk_sequence!('moderations')
    

    ありがとう



    1. Strftime()関数がSQLiteでどのように機能するか

    2. SQLのみを使用した基数36から基数10への変換

    3. PostgreSQLで配列の要素のインデックスを作成するにはどうすればよいですか?

    4. マネージドPostgreSQLクラウドソリューションのベンチマーク:パート2-Amazon RDS