Affecter les résultats de la requête à la variable MySQL
Je suis de l'interrogation d'une grande base de données mysql avec seulement des privilèges de lecture, et j'aimerais mettre quelques ralentir les résultats de la requête dans une variable, 'foo', donc je peux les utiliser à nouveau dans d'autres requêtes.
Fondamentalement, je veux avoir une variable pour un lourd sous-requête, afin que je puisse le réutiliser sans avoir le coût de fonctionnement chaque fois que je veux l'utiliser.
quand je suis entrée:
set @foo := (select *
from table1 join table2
where bar = 0
group by id);
J'obtiens: ERREUR 1241 (21000): Opérande doit contenir 1 colonne(s)
et si je me limiter à 1 colonne, ERREUR 1242 (21000): une sous-Requête renvoie plus de 1 ligne
Est-il un moyen pour stocker un tableau ou d'un tableau dans une variable? Je n'ai pas de privilèges pour créer des tables temporaires.
source d'informationauteur 5un5
Vous devez vous connecter pour publier un commentaire.
il devrait être
@
lorsque vous êtes en train de faire dansMySQL
.Vous pouvez aussi essayer ceci:
Vous ne pouvez pas stocker l'intégralité de la table en toute variable, mais vous pouvez stocker les données de la colonne de la variable à l'aide de requête ci-dessous.
ou