J'ai trouvé une solution pour cela :
Créez d'abord une fonction :
delimiter //
CREATE FUNCTION `func_inc_var_session`() RETURNS int
NO SQL
NOT DETERMINISTIC
begin
SET @var := @var + 1;
return @var;
end
//
delimiter ;
Définissez ensuite @var sur le nombre par lequel vous souhaitez commencer. Dans ce cas, zéro.
Créez ensuite la vue comme suit :
CREATE OR REPLACE VIEW myview (place, name, hour, price, counter)
AS SELECT place, name, hour, price, func_inc_var_session()
FROM yourtable
WHERE input_conditions_here;
L'astuce ici est que vous pouvez voir NULL sur la colonne du compteur. Si cela se produit, réglez à nouveau @var sur votre numéro, puis effectuez à nouveau le SELECT * et vous verrez la colonne du compteur correctement remplie.