How to get number of rows deleted from mysql in shell script

Posted by simonlord on Stack Overflow See other posts from Stack Overflow or by simonlord
Published on 2010-04-13T09:11:29Z Indexed on 2010/04/13 9:23 UTC
Read the original article Hit count: 227

Filed under:
|

Hi all

I can't work out how to get the mysql client to return the number of rows deleted to the shell when running a delete. Does anyone know what option will enable this? Or ways around it?

Here's what i'm trying, but i get no output:

#!/bin/bash
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`

I was expecting something like this as the output from mysql:

deleted
999999

Which is why i have the tail -n 1 so i only pick up the count and not the column name.

When running the command by hand (mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'") there is no output. When running the command interactively when running the mysql client i ge the following:

mysql>delete from mytable where insertedtime < '2010-04-01 00:00:00';
Query OK, 0 rows affected (0.00 sec)

I want to get the rows affected count into my shell variable.

Any help would be most appreciated.

© Stack Overflow or respective owner

Related posts about mysql

Related posts about shell-scripting