1

xcart_productsのテーブルが2つありproductid , meta_description 、他にも多くのフィールドがあります。2番目のテーブルはxcart_extra_field_valuesで、(productid fieldid and value)があります。

fieldID = 1の値をコピーする必要がありますxcart_extra_field_values

の中へ

が同じであるテーブルのmeta_description列。xcart_productsProductid

UPDATE `xcart_products` SET meta_description = ( SELECT value FROM
      xcart_extra_field_values WHERE fieldid = 1 AND
      xcart_extra_field_values.productid = xcart_products.productid ) 
WHERE 
    xcart_extra_field_values.productid = xcart_products.productid ;

上記のSQLを作成しましたが、エラーが発生します

#1054 - Unknown column 'xcart_extra_field_values.productid' in 'where clause'
4

3 に答える 3

1

データを変更していない場合でも、クエリで使用されるため、クエリの2番目のテーブル名を指定する必要があります。

xcart_products、xcart_extra_field_valuesを更新します

于 2012-06-07T18:25:22.193 に答える
1

代わりに、複数テーブルUPDATE構文を使用してテーブルを結合できます。

UPDATE xcart_products JOIN xcart_extra_field_values USING (productid)
SET    xcart_products.meta_description = xcart_extra_field_values.value
WHERE  xcart_extra_field_values.fieldid = 1;
于 2012-06-07T18:25:29.653 に答える
1

これがあなたのために働くことを願っています:

UPDATE `xcart_products`, `xcart_extra_field_values` SET xcart_products.meta_description = xcart_extra_field_values.value 
WHERE
xcart_extra_field_values.fieldid = 1
AND
xcart_products.productid = xcart_extra_field_values.productid
于 2012-06-07T18:30:05.177 に答える