テーブルまたはテーブルのフィールドが存在しない場合、挿入ステートメントを無視するための許容された安全な方法はありますか?mysql:テーブルやフィールドが存在しない場合はINSERTを無視しますか?
「除外リスト」(配列)に対して配列をフィルタリングしようと多くの時間を費やしています。「除外リスト」が頻繁に変更されるとメンテナンスの頭痛になることがあります。私はそれは、配列全体を処理し、望ましいINSERT/UPDATEクエリを作成し、データが(今回はとにかく)INSERT/UPDATEクエリを無視する必要はない場合は作成する方が簡単だろうと思っています。将来、無視されたデータが将来的には望まれていたら、除外リストを書き換える代わりにDBを変更してください。
解明我々が開始されたデータ配列:
(第三者から来て、変更される可能性があり)アレイのサンプルは次のようになり:
{
"ItemTypeCode": 0,
"ItemTypeDescription": "Normal",
"VendorId": "621eb496-d6d1-4860-af9b-ccae97bf4ef8",
"PurchaseOrderId": "d10991e0-a3b5",
"FreightDataId": null,
"Quantity": 1,
"Model": "ZZEAGLEUPGR",
"StockModel": "",
"AltStockModel": "",
"AltModel": "",
"CatalogProdId": "723b8e0b",
"CustomerSpecificPricings": [],
"GasSteamUtilityGrids": [],
"HvacUtilityGrids": []
}]
エンドユーザ"FreightDataId"または "GasSteamUtilityGrids"サブアレイのデータのいずれかを(今のところはとにかく)必要としないかもしれません。
はい、ダムのアイデア。私はいくつかのバージョン管理システムを使用したいと思います。 [tag:git]をPHPコードに使用し、INSERTを別のブランチのテーブルに入れます。次に、時が来たら、そのブランチ(=コード)を有効にします。 – PerlDuck
@PerlDog - どのようにgitが適用されているのかわかりませんが(おそらく私の悪いことではありません)、配列はjsonとしてMySQL DBに保存されています。 jsonファイルは多次元であり、 '除外'リストはjson内の異なるレベルにあることができます。つまり、jsonファイルはすべて異なるベンダで作成されたものと同じ構造ではありませんが、さまざまなベンダー間で同じキーが使用されます。 –
ああ、OK。その後、私のコメントを忘れる。私はあなたを誤解しました。 – PerlDuck