Erreur MySQL 2014 - Commandes de synchronisation - lorsque vous essayez d'appeler consécutives stockées procs

J'ai un hiérarchique table MySQL configuration à l'aide de l'Ensemble Imbriqué de modèle. J'ai créé une procédure stockée qui me permet de supprimer une organisation.

Quand j'essaye de faire des appels consécutifs à la procédure stockée, j'obtiens l'erreur suivante se référant à l'APPEL de la deuxième commande:

2014 - Commandes de synchronisation; vous ne pouvez pas exécuter cette commande maintenant

Voici le SQL, je suis en cours d'exécution:

SELECT @id := id, 
       @parent_id := parent_id 
  FROM organization 
 WHERE name = 'TESTDEAL';

CALL deleteOrg(@id);
CALL deleteOrg(@parent_id);

Et voici ma Procédure Stockée:

DELIMITER $$

CREATE PROCEDURE deleteOrg(IN IN_ID INT)

MODIFIES SQL DATA

BEGIN 

    START TRANSACTION;

    SELECT @org_id := id, 
           @myLeft := lft, 
           @myRight := rgt,  
           @myWidth := rgt - lft + 1 
      FROM organization 
     WHERE id = IN_ID;

    # delete statements for removing roles and other dependencies

    DELETE FROM organization 
     WHERE id = @org_id;

    UPDATE organization 
       SET rgt = rgt - @myWidth 
     WHERE rgt > @myRight;

    UPDATE organization 
       SET lft = lft - @myWidth 
     WHERE lft > @myRight;

    COMMIT;

END;
$$

DELIMITER ;

Pourquoi la deuxième commande d'échouer? Est MySQL qui tente d'exécuter l'APPEL de la deuxième commande avant le premier a été commis? Est il possible que je peux forcer le premier à exécuter pleinement avant l'appel de la deuxième?

EDIT: organisation de la table est à l'aide de InnoDB

EDIT: Essayé de l'enlever START TRANSACTION; et de s'ENGAGER; mais je suis encore en train d'erreur même

  • Quelle est la version de MySQL que vous utilisez?
  • Version de MySQL 5.1.41