Пожалуйста, может кто-нибудь помочь мне изменить мой код mysql ниже?Процедура ничего не делает
Это не влияет на строки, как хотелось бы. :/ Я начинающий.
DELIMITER $$
DROP PROCEDURE IF EXISTS category$$
CREATE PROCEDURE category()
BEGIN
DECLARE count INT DEFAULT 877;
DECLARE prd INT;
WHILE count < 1040 DO
select product_id into prd from xxx_hikashop_product
where (replace(product_name, 'Model ', '') = count);
insert into xxx_hikashop_product_category
(product_category_id, category_id, product_id, ordering)
VALUES
(1445+count, 33, prd, count);
SET count = count + 1;
END WHILE;
END$$
DELIMITER ;
PRINTED ERROR:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'select product_id from elody_hikashop_product where replace(product_alias,
'mode' at line 7
Ой, я забыл назвать процедуру : D: D – Filip
Из того, что я могу сказать, вы сравниваете результат замены функции, который является VARCHAR, с переменной count, которая является INT. – DBug
В сообщении об ошибке говорится: «.... выберите product_id от elody_hikashop_product, где replace (product_alias, 'mode'', но нет такой строки в коде, который вы нам показали в вопросе. Вы действительно запускаете/компилируете процедуру из вопрос ? – krokodilko