Page 1 sur 1

SELECT !id FROM table ?

Posté : 21 mars 2007, 13:06
par Invité
Bonjour,

Comment faire pour récuperer tous les champs d'une table à l'exception de certains champs ?

Faire une sorte de SELECT !id FROM table

Une idée ?

Posté : 21 mars 2007, 13:13
par jojolapine
Simplement en listant tout les autres... :roll:

Posté : 22 mars 2007, 09:49
par Invité
l'idée est justement de ne pas être obligé de lister tous les champs de la table ... question de lisibilité de code et d'évolutivité.

Posté : 22 mars 2007, 09:55
par Cyrano
Malheureusement, cette option n'est pas disponible : soit tu récupères les champs listés (SELECT champ1, champ2, ..., champn), soit tu récupères tout (SELECT * ... à éviter), mais tu ne peux pas faire autrement.

Posté : 22 mars 2007, 12:55
par Ryle
l'idée est justement de ne pas être obligé de lister tous les champs de la table ... question de lisibilité de code et d'évolutivité.
Il est à mon sens beaucoup plus lisible et maintenable de lister les champs dont on a besoin que ceux que l'on ne souhaite pas utiliser... le select * est d'ailleurs selon moi à proscrire, dans la mesure ou on ne sait absolument pas ce qu'il retourne ni dans quel ordre.

Ca fait un peu plus de code à écrire, c'est vrai et il faudra effectivement modifier la requête si l'on ajoute ou enlève un champ, mais dans la mesure ou tout le reste du code sera modifié également, on est pas vraiment à ça pret ;). Alors qu'en revanche, si quelqu'un utilise un mysql_fetch_row() sur ta requête et que tu ajoutes un champ au milieu de ta table, toute son indexation est à refaire...