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