INSERT ou UPDATE sans preciser les colonnes: pas possible?

Eléphanteau du PHP | 31 Messages

12 janv. 2007, 00:21

Bonjour.
Je voudrais faire un update ou un insert sur les x 1eres colonnes d'un enregistrement.(x étant variable). Il m'est donc difficile de préciser le nom des colonnes vu que q je ne connais pas le nb qui seront concernées.
Et en faisant: "INSERT INTO `ma_table` VALUES ('5','4', '12')"... ça ne marche pas si on ne précise pas les colonnes.
G fait une erreur ou y'a pas d'espoir sans nomer les x 1eres colonnes

Merci pour votre aide.
Modifié en dernier par ploplop le 12 janv. 2007, 01:01, modifié 1 fois.

Mammouth du PHP | 1885 Messages

12 janv. 2007, 00:35

Tu peux utiliser cette requête pour récupérer les champs d'une table:

Code : Tout sélectionner

mysql> SHOW FULL FIELDS FROM news_com; +-------+---------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +-------+---------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ | id | int(6) | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | | | date | int(10) | NULL | NO | | 0 | | select,insert,update,references | | | news | int(6) | NULL | NO | | 0 | | select,insert,update,references | | | user | int(6) | NULL | NO | | 0 | | select,insert,update,references | | | texte | text | latin1_general_ci | NO | | | | select,insert,update,references | | +-------+---------+-------------------+------+-----+---------+----------------+---------------------------------+---------+ 5 rows in set (0.00 sec)
Ensuite tu batis ta requête avec le résultat.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 1961 Messages

12 janv. 2007, 00:54

Bonsoir,

Une autre solution, qui me semble mois professionnelle, mais plus simple,
c'est de passer par des variables que tu initialises au départ avec des valeurs par défaut.

Dans ton traitement tu vas remplir certaines d'entre elles, celles qui contiendront les valeurs à insérer ou à modifier.

Ta requête restera toujours la même sans te soucier des variables modifiées.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Mammouth du PHP | 1885 Messages

12 janv. 2007, 01:18

La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 31 Messages

12 janv. 2007, 02:17

Merci bien pour vos réponses.
Elles vont m'aider a trouver le bon chemin.

Merci aussi pour la presentation du SDO, ça m'a l'air pour l'instant trop complexe pour m'y pencher, m'enfin j'aurait un oeil attentif si cette technologie confirme son apparition.