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: 251
mysql
|shell-scripting
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