Je n'arrive pas à trouver comment obtenir le client mysql pour retourner le nombre de lignes supprimées au shell lors d'une suppression. Est-ce que quelqu'un sait quelle option permettra cela? Ou des moyens de contourner cela?Comment obtenir le nombre de lignes supprimées de mysql dans le script shell
Voici ce que je suis en train, mais je ne vois aucun résultat:
#!/bin/bash
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
Je me attendais quelque chose comme ce que la sortie de MySQL:
deleted
999999
Ce qui est pourquoi j'ai la queue -n 1 donc je prends seulement le compte et pas le nom de la colonne. Lorsque vous exécutez la commande à la main (mysql mydb -e "supprimer de mytable où inséré < '2010-04-01 00:00:00'") il n'y a pas de sortie. Lors de l'exécution de la commande interactive lors de l'exécution du client mysql i ge les éléments suivants:
mysql>delete from mytable where insertedtime < '2010-04-01 00:00:00';
Query OK, 0 rows affected (0.00 sec)
Je veux obtenir les lignes affectées nombre dans ma variable shell.
Toute aide serait grandement appréciée.
Quelle sortie la commande ne vous donne quand vous le lancez manuellement? (S'il vous plaît modifier votre question et de fournir un exemple de la sortie.) –
Si la requête a été réussie, la sortie wi ll sera quelque chose comme 'Query OK, 1 ligne affectée (0.06 sec)' –
* Dupliquer: * http://stackoverflow.com/questions/1083866/how-to-get-number-of-rows-affected-while-executing -mysql-query-from-bash –