Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2005, 11h19   #1
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
Par défaut probleme de requete de mise à jour

Salut,

J ai une table dans laquelle mes champs ne sont pas obligé d etre renseigner sauf pour la clé primaire.
Quand je rempli tous les champs et que j execute ma requete cela fonctionne.
Par contre quand je rempli partielement mes champs et que par exemple le champs prix ne contient j ai cela dans la requete
update ......prix= ,....
et j ai ce message d erreur
Citation:
ERROR: syntax error at or near "," at character 280
donc j ai mis un 0 quand il n y a pas de valeur et sa roule mais
pour les champs date
si il ne sont pas rempli je met cela
update .....date='', ...
et j ai ce message d erreur
Citation:
ERROR: invalid input syntax for type date: ""
Je comprends pas , en theorie si on ne veux pas remplir un champs on le laisse à vide .

Comment je pourrai remedier à cela ?
faire en sorte que si la personne ne veux pas saisir de prix ou de date je laisse le champs à vide .

Merci
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 12h34   #2
Membre habitué
 
Inscription : mai 2002
Messages : 131
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 131
Points : 142
Points : 142
Dans un update, tu n'as pas besoin de spécifier les champs qui ne changent pas. Par exemple, une table utilisateur qui a un identifiant, un nom, un prenom et une adresse. J'ai une personne qui déménage, je dois changer l'adresse, mais pas besoin de toucher au nom et prénom, évidemment. Ce qui donne :
Code :
UPDATE utilisateur SET adresse = 'la nouvelle adresse' WHERE id = xxx;
Quentin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 13h09   #3
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
ouai je suis au courant de cela mais le truc, c est que j ai un formulaire en php et donc certains champs etre ou ne pas etre rempli par un utilisateur et au final j aurai quand meme à les modifier.

Je m explique

j ai 4 champs, nom , prenom , date , prix
pour certains enregistrement les 4 champs sont renseigné et pour d autre certains ne le sont pas.
Donc si un utilisateur, tombe sur un enregistrement qui contient le champs date vide,et qu il souhaite modifier que le nom,alors il ne touchera pas au champs date et quand il cliquera sur modifier le champs date sera vide.

Je sais pas si tu me suis mais dans ma requete de mise à jour je prends tout les champs de la table meme ceux qui sont vide et deja rempli et que l utilisateur ne modifie pas
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 13h57   #4
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
au pire tu peux tester avant si le champ date est vide ou non et de là tu fais une requete différente
je sais c'est moche j'ai honte je v essayer de voir comment on fait car j'ai testé et ça m'intrigue
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 14h05   #5
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
sa me rassure t a eu la meme idée que moi , et c est ce que je suis en train de faire.
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 14h27   #6
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
en faite meme au depart quand tu crée ta table et que tu specifie que le certains champs peuvent ne pas contenir de valeur, si par la suite tu veux faire une modification à l aide d un formulaire bin t ai de donner la valuer NULL au champs date et integer si tu veux que ta requete soit executer.
Je viens d essayer avec NULL et sa marche
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 15h34   #7
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
oki merci pour l'info, ça risquera de me servir
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 15h42   #8
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
je te dit sa en plus au cas ou
les dates on doit les mettre en ' ' et le NULL tu ne peux pas le mettre entre ' ' car sa ne l accepte donc il a fallu que je fasse plusieurs condition pour pouvoir executer ma requete car si je la laissai comme cela il executerais une requete de se type date='NULL' et sa bogue.
Et pour les integer sa a fonctionner.
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2005, 15h50   #9
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
ouais ça je savais mais merci quand même.

Au fait penses au tag résolu
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 16h48   #10
Candidat au titre de Membre du Club
 
Inscription : juin 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 27
Points : 10
Points : 10
Par défaut pourrais tu m'expliquer comment tu associes ta valeur null

pourrais tu m'expliquer comment tu associes ta valeur null à ton champ date. Car comment fait tu pour associer la variable integer à celle ci pourrais tu me montrer ton expression sql
merci
taurus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 17h06   #11
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
un exemple tout bateau :
Code :
1
2
UPDATE "ta_table" SET 
"datedebut"=NULL;
voili voilou
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h44.


 
 
 
 
Partenaires

Hébergement Web