MySQL équivalent de SEQUENCE.NEXTVAL d'Oracle

J'ai besoin d'être en mesure de générer de l'exécution d'une requête qui retourne la valeur de l'ID sur le tableau suivant:

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
)

Dans Oracle, vous pouvez appeler NEXTVAL sur une séquence et il vous donne la séquence suivante (note: sans avoir à faire un insert sur la table).

Après recherche sur google, j'ai trouvé que vous pouvez trouver la valeur actuelle de auto_increment par l'aide de la requête suivante:

SELECT Auto_increment 
FROM information_schema.tables 
WHERE table_name='animals';

Le problème c'est que je voudrais la valeur de l'incrément à chaque fois que la valeur est interrogé. Dans Oracle, lorsque vous appelez nextval, la valeur de la séquence est incrémenté même si vous n'avez pas insérer une ligne dans une table.

Est-il possible que je peux modifier la requête ci-dessus, de sorte que la valeur retournée sera toujours différent de la dernière fois que la requête a été appelé? c'est à dire de type Auto_increment est incrémenté à chaque fois qu'il est vérifié et lorsqu'il est utilisé sur une requête, elle serait d'utiliser une nouvelle valeur.

Je suis à l'aide de Printemps JDBCTemplate donc, si on peut le faire en une seule requête le mieux.

source d'informationauteur ziggy