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

ActiveRecordをスレッドセーフにする方法

    コメントとは異なり、PostgreSQLでは同じテーブルへの同時挿入が完全に許可されているため、ここに競合状態があります。

    これを安全にするには、uniqueが必要です 制約(またはprimary keycolumn_nameに 。挿入が重複すると例外がスローされ、それをキャッチして更新で再試行できます。

    一意の制約がない場合は、LOCK TABLE ... IN EXCLUSIVE MODEを実行する必要があります。 同時アップサートを防ぐため。または、以下で説明されている並行性に安全な方法の1つを使用します。

    PostgreSQLでUPSERT(MERGE、INSERT ... ON DUPLICATE UPDATE)する方法



    1. SQLServerでのアラートと演算子の使用

    2. MySQLアップデートケースヘルプ

    3. PDOを使用してMySQLから数値型を取得するにはどうすればよいですか?

    4. MySQLでNULL値をカウントする方法は?