|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mai 2004 Messages : 84 ![]() |
Bonjour,
tout est dit dans le titre : Comment connaitre le nombre de lignes affectées par un update à l'avance ? C'est-à-dire, sans faire le valider (sans commit). Pour mon appli, je veux être sûr qu'il est n'y ait pas plus d'une ligne à jour (surtout pour des updates sur plusieurs tables). J'ai pensé à un select préliminaire avec le même where et mêmes tables ... mais je ne trouve ça pas top. Merci par avance |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
c'est normal que j'a rien compris ?
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
00
|
|
|
#3 | |
|
Membre éclairé
![]() |
Citation:
Ouais, je pense que le select serait utilisé avant de faire ton update. |
|
|
|
00
|
|
|
#4 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2004 Messages : 84 ![]() |
Citation:
Et pour MySql ? |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Je ne sais pas si j'ai compris ce que tu voulais faire mais, tu as mysql_num_rows qui te permet de savoir combien de ligne t'a requete t'a renvoyée...ici un update...
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2004 Messages : 84 ![]() |
Citation:
- Je construis le update - Je teste magiquement le nombre de lignes qu'il va modifier - Si nombre de lignes égal 1, faire le update |
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Citation:
Mais je ne sais pas exactement comment marche un update, est-ce qu'il met a jour tout les champs meme si la nouvelle valeur et égale a l'ancienne, dans ce cas le mysql_num_row te renvera toutes tes lignes, OU BIEN est-ce que il y un test "automatique" pour voir si la nouvelle valeur et égale a l'ancienne si c'est le cas il passe au suivant, dans ce cas le mysql_num_rows serait de mise...
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Arrf grilled
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Citation:
Je crois qu'on peu y integrer un requete pour faire une condition (ici un where peut etre) ps : Si c'est UNe ligne de concernée ? tu sais laquelle ? premiere, ....?
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Bidouille-tout Android Inscription : juillet 2006 Messages : 871 ![]() |
Citation:
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre Ubuntu 10.04 Lucid Lynx @home LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
|
|
|
|
00
|
|
|
#12 |
![]() Développeur Web Inscription : juillet 2003 Messages : 676 ![]() |
je crois qu'il ne veut pas limiter à 1 ligne, mais qu'il veut faire cet update que si il y a une ligne à updater. C'est ça?
Donc si tu as + d'une ligne, tu fais pas l'update?
__________________
Articles sur developpez.com - Gestion des exceptions avec PHP5 - Chiffrement et hash en PHP contre l'attaque Man in the middle - Aedituus - Espace membre sécurisé en PHP5 Lithium : ORM ActiveRecord PHP5 extrêmement léger |
|
00
|
|
|
#13 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2004 Messages : 84 ![]() |
Citation:
Tout à fait |
|
|
|
00
|
|
|
#14 | ||
|
Membre habitué
![]() Inscription : octobre 2003 Messages : 102 ![]() |
Salut,
juste pour tordre cette idée erronée, les transaction sont possible sous mysql, et pour des versions released, tout comme la gestion de l'intégrité de données (clés étrangère). A condition de typer ses tables INNODB. le gel de l'autocommit pour une connexion se fait comme suit : ou alors tout simplement, pour une transaction ponctuelle, encapsuler le groupe de requetes que l'ont veux grouper en transaction par les instruction BEGIN et COMMIT/ROLLBACK Code :
__________________
il n'y a pas de sotte existence |
||
|
|
00
|
|
|
#15 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2004 Messages : 84 ![]() |
Citation:
|
|
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : octobre 2003 Messages : 102 ![]() |
Ca fait longtemps que je n'ai pas fait joujou avec mon Oracle 9i donc renseigne toi sur les syntaxes mais ca peut a fortiori etre transposé sous Oracle.
Ca me rappelle des bons souvenirs ,je me souviens en projet libre j'avais créé une sorte de phpmyadmin (en simplifié) muli SGBD, Oracle 8* et 9* SQL Server 2000, access (le plus chiant sic) et Mysql en version client lourd avec VB et ADO (beurk) et en 3 tiers (php)grace a la couche ADODB je crois que j'avais mis des fonctionnalités de transactions. Une chose est sure, tu peux activer désactiver l'autocommit, et d'ailleurs Oracle a un sytème de gestion bien plus poussé avec des sortes de points de restauration intermédiaires (voir SAVEPOINT) que tu peux discéminer au milieu de ton flot de requetes et tout et tout.
__________________
il n'y a pas de sotte existence |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com