私はこのような何かをしたいが、私はちょうどいけないようだと更新することができます。のMySQL - INNER SELECT
UPDATE products p2
SET
manufacturer =
(
SELECT manufacturer
FROM products p, manufacturers m, etc.
WHERE
...other stuff...
p.name LIKE CONCAT('%',m.name,'%')
AND p.id = p2.id
)
WHERE manufacturer = 0
エラーは次のとおりです。 #1093 - あなたはターゲット表を指定することはできませんP2」 'for FROM句の更新
問題は、私はテーブルに製造元のフィールドがありますが、製造元のフィールドの代わりに製造元の名前の一部が製造元の文字列にあるため、製造元のIDを取得する必要があります。 product_nameを更新し、製品テーブルのメーカーIDを更新します。
私は2つのステップでこれを行うことができましたが、IDを1つにするのが好きです。
AND p.id = p2.idここではp2とは何ですか? –