PDA

View Full Version : [MySQL] Autocommit ad OFF non funziona su CREATE USER


fbcyborg
09-03-2010, 16:43
Salve a tutti,

non riesco a capire una cosa.
Sto usando JDBC ed ogni volta che creo una connessione al database setto l'autocommit a false, così solo se la transazione è andata a buon fine, faccio commit.
Il problema è che anche se ottengo una connessione con autocommit a false, quando eseguo la seguente,
CREATE USER 'user'@'%' IDENTIFIED BY 'password'
questa mi viene comunque eseguita e mi viene resa persistente subito.

Perché con la creazione degli utenti non posso fare l'abort di questa CREATE?

Faccio un esempio.
Se volessi eseguire le seguenti righe di comando:
CREATE USER 'user'@'%' IDENTIFIED BY 'password'
GRANT USAGE ON database . * TO 'user'@'%' IDENTIFIED BY 'password'
GRANT SELECT , INSERT , UPDATE , DELETE ON `database`.* TO 'user'@'%'
e volessi che se almeno una delle tre fallisse per qualsiasi ragione, allora nessuna delle tre debba essere resa persistente, come potrei fare?
Ad esempio se cade la connessione alla seconda istruzione, ma la prima è andata, mi trovo con una CREATE eseguita ma senza le GRANT che volevo fossero eseguite.