SÉLECTIONNEZ dans mysql en utilisant le numéro de colonne à la place du nom
Est-il possible de faire quelque chose comme :
SELECT * FROM TABLE WHERE COLUMN_NUMBER = 1;
?
- Qu'est-ce que le cas d'utilisation de ce? Même si c'est possible, toute modification du schéma de saut de votre requête.
- jetez un oeil à cette stackoverflow.com/questions/7494372/...
Vous devez vous connecter pour publier un commentaire.
Si votre table a une colonne nommée
COLUMN_NUMBER
et vous souhaitez récupérer les lignes de la table où cette colonne contient une valeur de "1", cette question devrait faire l'affaire.Je soupçonne que ce que vous essayez de faire est la référence d'une expression dans la liste de sélection avec un alias. Et qui n'est pas pris en charge. Une expression dans la clause where qui fait référence à une colonne doit faire référence à la colonne par le nom.
Nous pouvons jouer quelques astuces avec inline points de vue, de donner un alias à une expression, mais ce n'est pas efficace en termes de OÙ les prédicats, en raison de la façon MySQL matérialise une table dérivée. Et, dans ce cas, c'est un nom donné à la colonne dans la ligne de vue qui doit être référencé dans la requête externe.
Non, vous ne pouvez pas. L'ordre des colonnes n'a pas vraiment d'importance dans MySQL. Voir la question ci-dessous pour plus de détails.
mysql - la sélection de valeurs à partir d'une table de numéro de colonne
Comment j'ai fait:
Je suis en train de prendre (les 3 dernières valeurs)
column number
4
danssometable
.Bien sûr, si nom de Base de données est connu, la première ligne pourrait par whiped et
@mydb
remplacé par le véritable nom de base de données.Vous pouvez faire ce truc
Exemple: