【发布时间】:2017-01-16 08:57:34
【问题描述】:
请帮我解决这个问题,因为我尝试了这个论坛的所有方法,但仍然没有找到解决方案。
嗯,我有两张桌子:
- 价格
- 制造商
我想更改表价格中的两个字段的值。 我只会给那些特定的值。
这些字段是:
- prices.override(我想在其中赋值 0)和
- prices.product_discount_id(我想在其中给出值 66)
但我只想更改 ID 为 31 的制造商的字段。
所以,我首先检查 INNER JOIN 是否正常工作。
SELECT manufacturers.manufacturer_id,
prices.product_id,
prices.product_price,
prices.override,
prices.product_discount_id
FROM manufacturers
INNER prices
ON manufacturers.product_id=prices.product_id
AND manufacturers.manufacturer_id=31;
但是当我尝试更新这两个字段时,我不知道如何使它工作。 例如,我试过这个,但它不起作用:
UPDATE prices
SET prices.override=1
FROM
INNER JOIN prices
ON manufacturers.product_id=prices.product_id
AND manufacturers.manufacturer_id=31;
我也试过这个:
UPDATE prices
SET prices.override=1,
INNER JOIN manufacturers
ON prices.virtuemart_product_id = manufacturers.virtuemart_product_id
AND manufacturers.manufacturer_id=31;
我做错了什么?通常我得到的错误信息是:
#1064 - 您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,在第 3 行的“FROM jos_virtuemart_product_prices 价格 INNER JOIN jos_virtuemart_product_man”附近使用正确的语法
我读了一些别名,但仍然没有结果。
任何帮助将不胜感激!
【问题讨论】:
-
格式正确的问题,+1。
-
结构不佳的问题。 -1
标签: mysql sql join sql-update alias