Ho trovato una soluzione per questo:
Per prima cosa crea una funzione:
delimiter //
CREATE FUNCTION `func_inc_var_session`() RETURNS int
NO SQL
NOT DETERMINISTIC
begin
SET @var := @var + 1;
return @var;
end
//
delimiter ;
Quindi imposta @var sul numero con cui vuoi iniziare. In questo caso zero.
Quindi crea la vista come segue:
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;
Il trucco qui è che potresti vedere NULL sulla colonna del contatore. Se ciò accade, imposta di nuovo @var sul tuo numero, quindi esegui nuovamente SELECT * e vedrai la colonna del contatore compilata correttamente.