Crear una vista con columnas num_rows - MySQL

Necesito crear una vista que tenga una columna llamada row_num donde se insertará el número de fila, como si fuera un incremento automático en una tabla normal.

Digamos que tengo esta tabla normal:

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

Y así...

La vista que quiero crear es:

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

Y así...

Puedo generar el row_num con una sola selección:

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

Pero mi problema es combinar la consulta anterior con la consulta que crea la vista. Esta es la consulta combinada que estoy intentando:

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;

Recibo el siguiente error: # 1351 - El SELECT de la vista contiene una variable o parámetro

Sé que no puedo usar una selección dentro de una selección con vistas, pero no veo otra manera de hacer esta vista de la forma que quiero, pero estoy seguro de que hay una forma de hacerlo pero no sé cómo. Probablemente con funciones o procedimientos, pero soy realmente nuevo en ellos, por lo que no me siento cómodo creando funciones o procedimientos en mysql.

Espero haberme aclarado, de lo contrario, estoy más que feliz de explicarme con más detalle.

Respuestas a la pregunta(7)

Su respuesta a la pregunta