あるテーブルから別のテーブルにデータを挿入しようとしている 2 つのテーブルがあります。Web 上でこれを行う方法の例をいくつか見つけることができました。問題は、これらの例がほとんど同一のテーブル構造に依存していることです。 2つの間...あるテーブルのデータを、まったく異なる構造の別のテーブルに挿入しようとしていることがわかります。
「catalog_product_entity_media_gallery」というテーブルから「catalog_product_entity_varchar」というテーブルにデータを挿入しようとしています。以下はそれらの構造の簡単な説明です
「catalog_product_entity_varchar」は次のようになります。
value_id | entity_type_id | attribute_id | store_id | entity_id | value
PK INT INT INT INT VARCHAR
「catalog_product_entity_media_gallery」テーブルは次のようになります。
value_id | attribute_id | entity_id | value
PK INT INT VARCHAR
エンティティと値の列をcatalog_product_entity_media_galleryからcatalog_product_entity_varcharに挿入する必要があります。しかし、ご覧のとおり、構造はまったく異なります。
私が使用しようとしているクエリは次のとおりです
USE magento_db;
INSERT INTO catalog_product_entity_varchar(entity_type_id, attribute_id, store_id, entity_id, value)
SELECT
4,
74,
0,
catalog_product_entity_media_gallery.entity_id,
catalog_product_entity_media_gallery.value
FROM catalog_product_entity_media_gallery;
必要なのはentity_idとmedia_galleryの値だけで、他の値は常に同じです。上記を使用してこれを実行しようとしましたが、これはMySQLでハングアップしています(エラーなし)
これは、catalog_product_entity_media_gallery から 4、74、および 0 を選択しようとしていることが原因だと思いますが、100% 確信が持てません (申し訳ありませんが、私は MySQL の初心者です)。
誰かが私を正しい方向に向けることができますか? 一部の列に静的な値を挿入しながら、メディア テーブルから一部のデータを挿入する方法はありますか? (これがすべて理にかなっていることを願っています)