我在oscommerce上。我需要更新我的products_quantity但我只有products_name
第一张桌子 产品 --products_id --products_quantity
PRODUCTS_DESCRIPTION --products_id --products_name
我的第一次测试:
UPDATE `products`
SET `products_quantity`='8'
where `products_id` = (SELECT `products_id` FROM `products_description` WHERE `products_name`='TOP CAISSE PLETSCHER')
错误的语法
我的第二次测试
UPDATE `products`
SET `products_quantity`='8'
where `products_id` = "SELECT `products_id` FROM `products_description` WHERE `products_name`='TOP CAISSE PLETSCHER'"
没有错误,但我的产品没有更新。我认为这个方法不支持我的mysql版本:3.23.58
我的第三次测试:
UPDATE `products`
SET `products`.`products_quantity`='8'
FROM `products`
INNER JOIN `products_description`
WHERE `products`.`products_id` = `products_description`.`products_id`
AND `products_description`.`products_name`='TOP CAISSE PLETSCHER'
我有这个错误:
You have an error in your SQL syntax near 'FROM `products` INNER JOIN `products_description` WHERE `products`.`produc' at line 1
我的解决方案已经用完了。如果你能告诉我出了什么问题,我会很感激。
我正在使用MySQL 3.23.58
答案 0 :(得分:0)
我猜您正在使用PHP连接数据库。 你不能只对它使用两个查询吗?
首先,
SELECT `products_id` FROM `products_description` WHERE `products_name`='TOP CAISSE PLETSCHER'
,然后将结果保存到数组变量,并在循环更新中,例如:
foreach($result_array as $id) {
UPDATE `products`
SET `products_quantity`='8'
WHERE `products_id` = $id
}
尝试告诉我们是否有帮助。