Je ne parviens pas à faire en sorte que le client mysql renvoie le nombre de lignes supprimées au shell lors de l'exécution d'une suppression. Quelqu'un sait-il quelle option le permet ? Ou des moyens de le contourner ?
Voici ce que j'essaie, mais je n'obtiens aucun résultat :
#!/bin/bash
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
Je m'attendais à quelque chose comme ceci comme la sortie de mysql :
deleted
999999
C'est pourquoi j'ai utilisé tail -n 1 afin de ne récupérer que le nombre et non le nom de la colonne.
Lorsque vous exécutez la commande manuellement (mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"), vous n'obtenez aucun résultat. Lorsque j'exécute la commande de manière interactive en utilisant le client mysql, j'obtiens ce qui suit :
mysql>delete from mytable where insertedtime < '2010-04-01 00:00:00';
Query OK, 0 rows affected (0.00 sec)
Je veux obtenir le nombre de rangs affectés dans ma variable shell.
Toute aide serait la bienvenue.