Update que le dernier champ de la table
Résolu/Fermé
Pit
-
31 mai 2013 à 15:01
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 5 juin 2013 à 15:27
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 5 juin 2013 à 15:27
A voir également:
- Update que le dernier champ de la table
- Table ascii - Guide
- Table des matières word - Guide
- Windows update 0x80070643 - Accueil - Windows
- Le dernier iphone - Guide
- Windows update bloqué - Guide
2 réponses
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
31 mai 2013 à 22:38
31 mai 2013 à 22:38
Salut,
La question n'est pas "pourquoi il UPDATE le dernier tuple ?", mais plutôt "pourquoi il update qu'un seul tuple ?".
En tout cas, si "idhoraire" est une clé primaire, alors c'est normale qu'il y ait qu'un seul tuple visé.
C'est comme si que tu demandait au SGBD "modifie le(les) tuple(s) dont l'idhoraire est égale a 5 (par exemple)", puisque l'idhoraire est une clé primaire, donc chacune de ses valeurs n'existent qu'une seule fois, donc le "5" existe qu'une seule fois dans la table, alors forcement il n'y aura qu'un seul tuple édité par ta requête.
Maintenant si tu voulait faire autre chose, alors soit ta conception contient des erreurs, soit tu t'es trompé de champs a mettre dans le WHERE de ta requête.
La question n'est pas "pourquoi il UPDATE le dernier tuple ?", mais plutôt "pourquoi il update qu'un seul tuple ?".
En tout cas, si "idhoraire" est une clé primaire, alors c'est normale qu'il y ait qu'un seul tuple visé.
C'est comme si que tu demandait au SGBD "modifie le(les) tuple(s) dont l'idhoraire est égale a 5 (par exemple)", puisque l'idhoraire est une clé primaire, donc chacune de ses valeurs n'existent qu'une seule fois, donc le "5" existe qu'une seule fois dans la table, alors forcement il n'y aura qu'un seul tuple édité par ta requête.
Maintenant si tu voulait faire autre chose, alors soit ta conception contient des erreurs, soit tu t'es trompé de champs a mettre dans le WHERE de ta requête.
J'voulais qu'il update ma table ligne par ligne
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 4/06/2013 à 00:27
Modifié par JooS le 4/06/2013 à 00:27
Oui, mais ça dépend de ce que tu va mettre dans le WHERE.
... WHERE champs_de_type_cle_primaire = valeurDans ce cas, seulement une seule ligne au plus va être modifiée.
... WHERE champs_de_type_unique = valeurDans ce cas, c'est la même chose.
... WHERE champs_normal = valeurDans ce cas, zéro ou plusieurs lignes peuvent être modifiées.
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 5/06/2013 à 15:27
Modifié par JooS le 5/06/2013 à 15:27
Si chaque ligne est mis a jour d'une valeur différente, alors oui, plusieurs update doivent être utilisés, sinon, si c'est la même valeur, alors il suffit de faire :
Tu dis qu'il mets toujours la même valeur, peut être que c'est parce que tu ne change pas le contenu des tes variables.
... WHERE ... AND ... AND ...
Tu dis qu'il mets toujours la même valeur, peut être que c'est parce que tu ne change pas le contenu des tes variables.