The mistake seems to be in believing that the alias from the SELECT
carries over and is used in the UPDATE. You need to add an alias to
the UPDATE. You are referring to _import_products in the UPDATE, but
you never define it as an alias.
On Tue, Mar 13, 2012 at 10:30 PM, Matthew Stuart <mrs@stripped> wrote:
> Hi all, I have a table of products (ps_4products), and a table of up-to-date prices
> and sizes (_import_products). I am trying to replace old content in the table ps4_products
> with up-to-date content in the _import_products table, but I am getting errors.
> I am trying to ask the DB to match on ProductSKU and then replace the relevant info
> but I am getting this error:
> Not unique table/alias: 'ps4_products'
> I have no idea what it means though. Please advise.
> Here's my query:
> SELECT ProductSku, COUNT(ProductSku) _import_products FROM _import_products
> GROUP BY ProductSku;
> UPDATE ps4_products
> INNER JOIN ps4_products ON (_import_products.ProductSku = ps4_products.ProductSKU)
> SET ps4_products.ProductPrice = _import_products.ProductPrice;
> SET ps4_products.ProductWeight = _import_products.ProductWeight;
> SET ps4_products.ProductWidth = _import_products.ProductWidth;
> SET ps4_products.ProductHeight = _import_products.ProductHeight;
> SET ps4_products.ProductLength = _import_products.ProductLength;
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql
Percona Inc <http://www.percona.com/>
Consulting, Training, Support & Services for MySQL