SQL SELECT * FROM tbl (MASQUER 1 COLONNE)

SELECT * FROM tbl de faire SELECT * FROM tbl , mais sur 20 colonnes, je ne veux pas SELECT * FROM tbl colonne particulière soit sélectionnée. Y a-t-il un moyen dynamic de le faire? Juste déteste spécifier 19 colonnes dans la requête!

Précisez simplement les colonnes. Vous devriez le faire tout le time car select * est un très mauvais choix de programmation. Je ne sais pas à propos de mysql mais dans SQL Server, je peux faire glisser toutes les colonnes du browser d'objects et supprimer celles que je ne veux pas, cela prend quelques secondes. Peut-être que l'interface que vous utilisez a une fonctionnalité similaire.

Essayez ceci. Comme il le dit, le SQL n'est pas joli.

Sélectionnez toutes les colonnes sauf une dans MySQL?

Eh bien vous (ou moi) pourriez passer un peu de time à écrire un SQL dynamic pour interroger les colonnes d'une table, en générant une instruction sql less la colonne que vous voulez ignorer, puis en exécutant ce SQL dynamic.

Ou vous pouvez respirer profondément et le coder pour les 19 colonnes.

Je sais ce que je choisirais. Je sais de quelle façon est plus facile à maintenir et less sujette aux erreurs.

Question intéressante mais la réponse directe est non, ce n'est pas possible. Cependant, vous pouvez utiliser une vue ou une procédure stockée qui vous permettra d'écrire les 19 colonnes une seule fois, puis d'appeler la procédure stockée ou la vue en utilisant une vue SELECT * FROM view ou exec storedproc

Le seul problème ici est que si vous ajoutez / supprimez / renommez une colonne à votre table, vous devrez mettre à jour votre object (vue ou procédure stockée) pour refléter la nouvelle colonne / enlevée / renommée.

insed de l'écanvas écrivent le nom de colonne requirejs Dans cela ,, ei est

 SELECT name,password...etc FROM tbl 

Je suis d'accord avec toutes les réponses re. les mérites de faire "select * from …"

Cependant, si vous le souhaitez vraiment , vous pouvez faire un "select *" dans une table temporaire, faire une "alter table" pour supprimer les colonnes que vous ne voulez pas, puis faire un "select *" depuis le table temporaire.

Encore … pas très sympa parce que le point principal est que, si la structure de votre table change (et que vous obtenez des colonnes supplémentaires), les consommateurs de vos données sélectionnées obtiendraient maintenant plus que ce à quoi ils s'attendaient. "Select *" est, dans la plupart des cas, juste un encoding paresseux.