I have this:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `linkacorte`(vid_pedido int(11), vid_producto int(11),vtiempo varchar(50),vid_pastelero int(11),vcorte varchar(200),vnum int(2))
begin
declare campo varchar(20);
DECLARE EXIT HANDLER FOR SQLSTATE '42000'
SELECT 'Ha introducido un campo incorrecto. Solo se permite 1,2 o 3';
if vnum=1 then
set campo='programa_corte_1';
elseif vnum=2 then
set campo='programa_corte_2';
elseif vnum=3 then
set campo='programa_corte_3';
else
CALL raise_error;
end if;
update pedidos_productos set campo=vcorte where id_pedido=vid_pedido and id_producto=vid_producto and tiempo=vtiempo and id_pastelero=vid_pastelero;
commit;
end
Now I need "campo" to be a column in a row but depending on which number I choose, it is a different one. How can I do this? Thanks.