Comunque giusto per sicurezza, io chiedo. Se ho una procedura del genere:
codice:
delimiter $ 
CREATE PROCEDURE Deletetopic (TopicId INT) 
BEGIN 
START TRANSACTION; 
DELETE m.* FROM messages m NATURAL JOIN publicmessages p WHERE p.idtopic=TopicId; 
DELETE FROM topics WHERE idtopic=TopicId; 
COMMIT; 
END; $ 
delimiter ;
La transazione ci sta? O non serve? Io più che per gli accessi concorrenti, l'ho usata per il fatto che se la seconda query fallisce, mi ritrovo il database in uno stato errato.