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 à