[fr-users] Re: [Base] formule SQL pour copie une colonne

Lucien RUBEMPRE <[email protected]> Sat, 01 Oct 2011 02:48:45 +0200
Newsgroups gmane.comp.openoffice.general.french
Message-ID <[email protected]>
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