問題:Postgresデータベースに解析する必要のあるスプレッドシートのセット。挿入は前方に向かっている。しかし、スプレッドシートのデータが変更された場合はどうなりますか?PostgreSQL:削除と更新を組み合わせる
したがって、python3スクリプトは、変数(sheet1)と生の時系列(sheet2)の組み合わせであるスプレッドシートを読み取ります。スプレッドシートはデータ収集のための柔軟性があります。そのためです。
しかし、私は普及したシートのデータを変更するとつまずくようです。私はpostgresql 9.6を使用していますが、私はUPSERTを行う方法を知っています。
テーブルの1つは次のようになります。 | id | key_to_other_table |パラメータ|値|
UPSERTは、key_to_other_tableおよびパラメータがテーブルにあるかどうかに関係なく完璧に動作します。
問題は、パラメータが元々スプレッドシートにあり、データベースにアップロードされていたが、スプレッドシートで修正されたがデータベースにまだ残っているという問題です。
私は今、どうなる...私は削除のいくつかの種類を行う必要があるが、私は、私はIDを使用してすべての行の鈍削除を行い、その後、単純に再挿入したくない
特定のスプレッドシートにリンクされている行のすべてのIDを取得し、値のアップカウントを行い、そのIDを取得します。
2つのリストを比較し、不要になったものを削除します。 しかし、これは3つの異なるデータベースクエリのようです... これを1ステップで行うためのエレガントな方法はありますか?
このワーキングアップのユニークなキーは何ですか? –
これは私にとって大きな混乱のように聞こえる。データを細かく正確に管理するための要件がある場合は、スプレッドシートを使用しないようにアドバイスします。 Postgresはあなたのデータをホストするのに適しています。 –
他の提案は大歓迎ですが、スプレッドシートで作業することは、オペレータの利便性と私が望むデータ構造との間の妥協です。スプレッドシートは構造化されており、テンプレートベースです。 – Ilpepe4