Я не могу понять, как заставить клиента mysql возвращать количество строк, удаленных в оболочку, при запуске удаления. Кто-нибудь знает, какой вариант позволит это? Или способы обойти это?
Вот то, что я пытаюсь, но я не получаю вывод:
#!/bin/bash
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
Я ожидал чего-то подобного в качестве вывода из mysql:
deleted
999999
Именно поэтому у меня есть хвост -n 1, поэтому я выбираю только количество, а не имя столбца.
При ручном запуске команды (mysql mydb -e "удалить из таблицы, где вставлено время <'2010-04-01 00:00:00'") вывод не производится. При интерактивном запуске команды при запуске клиента mysql я получаю следующее: </p>
mysql>delete from mytable where insertedtime < '2010-04-01 00:00:00';
Query OK, 0 rows affected (0.00 sec)
Я хочу получить количество затронутых строк в моей переменной оболочки.
Любая помощь будет наиболее ценной.