Seu script funciona bem. O problema é a maneira como você está executando (o cliente espera consulta por consulta e não o script inteiro) ou você alterou seu delimitador para algo diferente de ; DELIMITER ;