Crie uma visão com a coluna num_rows - MySQL

Eu preciso criar uma visão que tem uma coluna chamada row_num onde será inserido o número da linha, assim como um incremento automático em uma tabela normal.

Vamos dizer que eu tenho essa tabela normal:

| country | name | age | price |
--------------------------------
| US      | john | 22  | 20    |
| France  | Anne | 10  | 15    |
| Sweden  | Alex | 49  | 10    |

E assim por diante...

A visão que quero criar é:

    | country | name | price | row_num |
    ------------------------------------
    | US      | john |  20   |    1    |
    | France  | Anne |  10   |    2    |
    | Sweden  | Alex |  5    |    3    |

E assim por diante...

Eu posso gerar o row_num com uma única seleção:

SELECT @i:=@i+1 AS row_num, testing.country, testing.name, testing.price
FROM testing testing,(SELECT @i:=0) derivedTable
order by name

Mas meu problema é combinar a consulta acima com a consulta criando a exibição. Esta é a consulta combinada que estou tentando:

CREATE OR REPLACE view vwx (country, name, price, num_row) AS SELECT mytable.country, mytable.name, mytable.price, @i:=@i+1 AS row_number
    FROM testing testing,(SELECT @i:=0) derivedTable
    order by name;

Eu recebo o seguinte erro: # 1351 - O SELECT da View contém uma variável ou parâmetro

Eu sei que não posso usar um select dentro de um select com views mas eu não vejo outro jeito de fazer essa view do jeito que eu quero, mas tenho certeza que existe uma maneira de fazer isso mas eu não sei como. Provavelmente com funções ou procedimentos, mas eu sou realmente novo para eles, então não me sinto confortável em criar funções ou procedimentos no mysql.

Espero ter me esclarecido, caso contrário, estou mais do que feliz em me explicar mais detalhadamente.

questionAnswers(7)

yourAnswerToTheQuestion