Bonjour,

Le 1 octobre 2011 02:48, Lucien RUBEMPRE <antis...@sfr.fr> a écrit :

>  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
>
> UPDATE t_observations SET t_observations.ref_commune =
tl_obs_communes.ref_commune
WHERE t_observations.IDObs = tl_obs_communes.ref_obs

devrais aller mieux.
TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est
le nom de la table uniquement.

Yves


> 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
> --
>  *
>
>
>


-- 
web site : http://www.molenbaix.com
--
------------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help

Répondre à