Приветствую!
Интересует такой вопрос, можно ли использовать переменные, передаваемые в процедуру, в виде полей таблицы?
Пример:
CREATE PROCEDURE `changeField` (IN p_id INT, IN value VARCHAR(50), IN field VARCHAR(20))
BEGIN
UPDATE table SET field = value WHERE id = p_id LIMIT 1;
END
Или с помощью подготовленных выражений:
CREATE PROCEDURE `changeField` (IN p_id INT, IN value VARCHAR(50), IN field VARCHAR(20))
BEGIN
PREPARE upd FROM 'UPDATE table SET ? = value WHERE id = p_id LIMIT 1';
EXECUTE upd USING @field;
END
Оба способа выдают ошибку.
Может существует другой способ?
Подскажите, пожалуйста.
Отредактированно Symbiot (22.12.2011 17:05:56)