Mysql
 sql >> Base de données >  >> RDS >> Mysql

Créer une vue avec la colonne num_rows - MySQL

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.