Jag hittade en lösning för detta:
Skapa först en funktion:
delimiter //
CREATE FUNCTION `func_inc_var_session`() RETURNS int
NO SQL
NOT DETERMINISTIC
begin
SET @var := @var + 1;
return @var;
end
//
delimiter ;
Ställ sedan @var till det nummer du vill börja med. I det här fallet noll.
Skapa sedan vyn enligt följande:
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;
Tricket här är att du kan se NULL i räknarkolumnen. Om detta händer, ställ in @var igen till ditt nummer och gör sedan VÄLJ * igen och du kommer att se räknarkolumnen korrekt ifylld.