Merci Samuel, de prendre le temps de m'aider.

J'avais effectivement commencé par une formule à base d'UPDATE que voici :

UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune
WHERE t_observations.IDObs = tl_obs_communes.ref_obs

hélas, Base répond :

1: Table 't_observations.ref_commune' doesn't exist

J'ai donc essayé d'adapter ma formule :

UPDATE t_observations (ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune
WHERE t_observations.IDObs = tl_obs_communes.ref_obs

Et là, j'obtiens :

1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune
WHER' at line 1

J'avoue que ce n'est pas facile.

_PS_ : merci pour l'adresse de ce site à partir duquel j'avais bâti ma commande update.

/Le 30/09/2011 15:56, Samuel Mounier (Liste CGO) a écrit :/
/Le 29/09/2011 20:38, Lucien RUBEMPRE a écrit :
/
/Bonsoir,

Y a-t-il une âme charitable pour m'aider à résoudre un petit problème de syntaxe ?

J'ai une table où j'ai créé (parmi d'autres) une colonne "ref_commune" vide. Je souhaite la remplir avec les données
contenues dans la colonne "ref_commune" d'une autre table.

J'utilise la formule suivante :

INSERT INTO t_observations (ref_commune) SELECT ref_commune FROM tl_obs_communes

et je reçois le message d'erreur suivant :

1: Field 'DescriptionObs' doesn't have a default value


Je ne comprends pas ce que vient faire là-dedans le champ "DescriptionObs" qui n'a rien à voir avec ma formule. /
/
Bonsoir Lucien,

Travaillant plus sur un L4G, je ne suis pas un spécialiste du SQL mais je crois que le INSERT INTO ajoute des enregistrement contrairement au UPDATE qui lui met à jour un champ existant non
(Hors c'est une simple update que tu me semble vouloir faire).

Si tu ajoute un enregistrement (avec le INSERT INTO), les contraintes d'intégrité déclaré dans le schéma de ta base vont déclencher lors de la création d'un enregistrement des triggers du genre que tu rencontre.

En clair pour ton cas dans le nouvel enregistrement que tu crée par le INSERT INTO, une valeur de 'DescriptionObs' qui n'a pas de valeur par défaut dans la description de ta table n'est pas renseigné dans la commande de création de l'enregistrement et donc l'enregistrement ne peut être créé.

Tu trouvera des info sur le langage SQL en recherchant sur google.
Avec "syntax SQL de base" je suis tombé sur ce site qui m'a l'aire pas mal.

http://sql.1keydata.com/fr/sql-update.php

Samuel
--
/

--
------------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected] with Subject: help

Répondre à