Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql :Non autorisé à renvoyer un jeu de résultats à partir d'une fonction

Vous souhaitez affecter le résultat d'une requête à une variable, mais en fait vous n'êtes qu'à select ing. C'est pourquoi MySQL se plaint.

Vous devez changer cela

            SELECT  p_KeyValue = ListName + '.' + Value
            FROM ListsTable
            WHERE EntryID = p_ParentID  LIMIT 1 ;

à

            SELECT CONCAT(ListName, '.', `Value`)
            INTO p_KeyValue
            FROM ListsTable
            WHERE EntryID = p_ParentID  LIMIT 1 ;

Et vous devez ajouter un ORDER BY . Une LIMIT sans ORDER BY n'a pas de sens, car il n'y a pas d'ordre garanti dans une base de données relationnelle.