Delucidazione su auto_increment

di il
1 risposte

Delucidazione su auto_increment

Ciao!

ho una tabella di test con un campo auto_increment.
ho creato una procedure per capire come funzionano le eccezioni:

DELIMITER //
DROP PROCEDURE IF EXISTS add_persona //
CREATE PROCEDURE add_persona(IN email VARCHAR(50), IN nome VARCHAR(50), IN cognome VARCHAR(50))

BEGIN
	DECLARE EXIT HANDLER FOR SQLEXCEPTION
		BEGIN 
			GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
			SELECT @errno, @sqlstate, @text;
		END;
	INSERT INTO persone VALUES(NULL, email, nome, cognome);
	SELECT LAST_INSERT_ID() AS last_id;
END
funziona bene, solo che ho notato che il valore auto_increment aumenta anche quando la SP va in eccezione.
è un comportamento "normale" o sbaglio io nella SP?
e in caso si può evitare, o non ci si può fare nulla?

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte