changement d'une clé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : changement d'une clé

merci

par manu49 » 07 sept. 2005, 14:09

ok merci c'est bon tout roule apparemment j'avais essayé de faire comme tu me l'a di mais je devais avoir fait une erreur
ca marche nickel merci bcp

par Augure » 07 sept. 2005, 13:20

C'est une commande Select que tu nous montre, pas de mise à jour.

Cela devrait ressembler à

Code : Tout sélectionner

UPDATE formulaire SET nom='nouveau non' ,prenom='nouveau prenom' WHERE nom='ancien non' AND prenom='ancien prenom'
Il faut aussi faire les mises à jour sur les table qui référence formulaire.

re

par manu49 » 07 sept. 2005, 13:14

je veux bien vous croire que c'était aps très malin mais maintenant c'est fait et le programme est trop long pour pouvoir le changer
je n'arrive aps a le faire avec la commande set
et lorsque je le fait directement dans easyphp pour voir la commande
il me met ca:

Code : Tout sélectionner

SELECT * FROM `formulaire` WHERE CONVERT( `nom` USING utf8 ) = 'fgdsdfgsdgd' AND CONVERT( `prenom` USING utf8 ) = 'comment';
or 'fgdsdfgsdgd' est l'ancien nom
et 'comment' est l'ancien prenom

les nouvelles valeurs n'apparraissent pas et pourtant elle passe bien
du coup je ne sais pas comment faire
merci

par Augure » 07 sept. 2005, 13:12

Oui c'est possible techniquement. Certain SGBDR ont même des commandes de type UPDATE CASCADE qui permette de répercutter une modification d'une PK sur ses FK.

Si tu n'as pas cette commande, il faut tout faire à la main (sans rien oublier et dans le bon ordre et en espérant que le SGBDR ne rende pas l'ame à ce moment précis .....)

D'un point de vue pratique et avec qqs. années d'expérience ... non, il ne faut pas, non il ne faut vraiement pas .... c'est vraiment la galére surtout si cette opération doit être fait de façon trés réguliére. Préféres l'utilisation de clé alternative.

par Cyrano » 07 sept. 2005, 12:50

Si cette clé sert de référence dans d'autres tables en clé étrangère, il faudra aussi aller les mettre à jour. Ce qui signifie que ce n,est pas une bonne idée d'utiliser un champ contenant une donnée comme clé primaire et il vaut mieux avoir un champ indépendant en INT Auto_increment. Tu devrais quand même pouvoir mettre la clé à jour avec une requête UPDATE.

changement d'une clé

par manu49 » 07 sept. 2005, 12:26

bonjour,
j'aimerais savoir si il est possible de changer la valeur d'une clé en gardant bien entendu toutes les infos qui dépendent de cette clé

en gros vous avez robert et toutes ces infos mais ce n'etait aps robert mais roberta

en utilisant un set je ne vois pas comment faire pour changer la clé et dire de garder les infos de l'anciennne valeur de cette clé
merci de bie nvouloir m'aider