Bonjour à tous,

Je suis actuellement en train de me former sur les fonctions sous MySql 5 et je rencontre une légère difficulté.

J'ai créé une fonction toute bête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DELIMITER $$
 
DROP FUNCTION IF EXISTS test$$
 
CREATE FUNCTION test() RETURNS INT
BEGIN
 
DECLARE a,b INT;
SET a = 0;
SET b = 10;
 
WHILE a < b DO
  INSERT INTO test VALUES(a);
  SET a = a + 1;
END WHILE;
 
RETURN(SELECT test FROM test);
END$$
 
DELIMITER;
Jusque là tout va bien sauf que lorsque je lance un SELECT sur cette fonction en retour j'ai l'erreur suivante : Duplicate entry '1' for key 1.

J'ai fais pas mal de recherche mais il faut admettre que la doc n'est pas très poussée à ce niveau là.

Quelqu'un saurait-il pourquoi cette fonction ne marche pas ?

Merci par avance.