Хочу перенести часть данных столбец category_id из таблицы product_to_category в таблицу product. Допустим в стоблец test_id, но сталкиваюсь с тем что идет auto_increment либо duplicate_key =/ То есть создаются "новые" товары из-за auto_increment product_id или просто нету возможности обновить инфу. Пробовал уже 20 разных вариаций на тему: Instert/ UPDATE `база`.`product` (`test_id`) SELECT `category_id` FROM `база`.`product_to_category` WHERE `category_id` = '75' и 'product'.'product_id'='product_to_category'.'product_id' Подскажите пожалуйcта как правильно составить запрос =)
Какое конкретно поле нужно обновить ? У Вас в запросе не хватает выборки двух баз. UPDATE DB_PREFIX_product SET p.price = p.price*0.2 WHERE p.id=( SELECT p.id, p.price, c.id FROM DB_PREFIX_product AS p, DB_PREFIX_product_to_category AS pc WHERE pс='75' ) Примерно так
Код: UPDATE product p SET p.test_id = (SELECT ptc.category_id FROM product_to_category ptc WHERE ptc.product_id = p.product_id LIMIT 1) AS category_id WHERE category_id = 75 Префиксы не добавлял, как и кавычки. Следует не забывать, что товар может быть в нескольких категориях. Здесь будет выбрана только первая попавшаяся из них. И вы уверены, что вам нужно фильтровать именно по категории?
Спасибо, наверное в 4 утра стоит спать, с утра быстро понял в чем косяк) update oc2_product, oc2_product_to_category set oc2_product.new_id = '75' where oc2_product.product_id = oc2_product_to_category.product_id and oc2_product_to_category.category_id = '75'