他の2つのテーブルのデータをテーブルに挿入しようとしています。表は の製品、カテゴリ、およびproductcategoryテーブルの両方を関連付けるものです。2つのテーブルの選択クエリを、それらを関連付ける第3のテーブルに挿入
したがって、776のカテゴリからIDを取得してから、商品テーブルのすべての商品を 'whatever'のようなものにしてから、それを私の言ったように挿入して、
category_id product_id
776 123
776 567
776 123
..etc
私はこのクエリを思いついたが、それは私に0行を挿入する。
INSERT INTO cp8_catalog_category_product
(category_id,
product_id
)
SELECT categorias.id,
productos.product_id
FROM categorias
LEFT JOIN cp8_catalog_category_product ON categorias.id = cp8_catalog_category_product.category_id
LEFT JOIN productos ON cp8_catalog_category_product.product_id = productos.product_id
WHERE categorias.id = 776
AND productos.name LIKE '%whatever%'
注:はい、私はcategoriasでカテゴリIDを持っている:連想テーブルで、category_isが主キーではない、それはcategorias.id
ノートの外部キーであるインデックス付きの列ですテーブルがid = 776であり、プロダクトテーブルに 'whatever'のような名前のproductosテーブルもあります
ジョインをサポートするサンプルデータを表示できますか? –
テーブルからIDを取得して戻しているため、列内または複数の列にわたって一意のインデックスがあると、それ以降の挿入はブロックされます。 –
@paul。まあ、私はcategoriasテーブルからIDを取得していると私は結合テーブルに挿入しようとしています。 – Arminius