Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / как шелом сделать апдейт, зная сколько строк реально обновилось? / 9 сообщений из 9, страница 1 из 1
10.10.2013, 21:22
    #38423627
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
что-то не могу нагуглить

sql="update table set field=value where <some_clouses> limit 10;"

mysql $loginparam --execute $sql
работает. это круто.
но мне надо знать сколько строчек оно обновило!
...
Рейтинг: 0 / 0
10.10.2013, 22:14
    #38423678
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
alex564657498765453,

Шелл и юникс здесь ни при чем; надо спрашивать на форуме по mysql.
...
Рейтинг: 0 / 0
10.10.2013, 22:21
    #38423685
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
...
Рейтинг: 0 / 0
11.10.2013, 02:19
    #38423848
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
vkle,

так потому испросил, т.к. чтотоне работает.

i=`mysql --user=u --password=p db --execute "update----;select row_count()"`

echo $i ---- -1

если разбить это на две команды, аналогично. будет -1 всегда.
...
Рейтинг: 0 / 0
11.10.2013, 02:28
    #38423852
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
Попробуйте выполнить
Код: sql
1.
mysql --user=u --password=p db --execute="update----;select row_count()"

в шелле. Что покажет?
...
Рейтинг: 0 / 0
11.10.2013, 11:29
    #38424141
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
miksoft,

яж написал, шелом показывает -1 при любом результате апдейта.

Кслову.

`mysql -u u -p p db --execute "udpate .....;select 10;"`
выдаёт в результат 10 10, тоесть при таком обращении, в результате получаем двойной результат селекта.

чтото тут не так, а что понять не могу.

ЗЫ
нащот row_count(); как я и писал, что вместе с апдейтом, что по отдельности, не получаеться получить число затронутых строк.

может ктото знает хак по типу select @param=(update ...)

в доках же по мусклу сказано, функция апдейт возвращает вкачестве результата число затронутых строк. тоесть селект - возвращает рузельтат выборки, а апдейт - число затронутых строк или фолс в случае ошибки.
...
Рейтинг: 0 / 0
11.10.2013, 12:07
    #38424213
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
alex564657498765453`mysql -u u -p p db --execute "udpate .....;select 10;"`
выдаёт в результат 10 10, тоесть при таком обращении, в результате получаем двойной результат селекта.

чтото тут не так, а что понять не могу.Это, как раз, нормально. Первая 10 - это имя поля, вторая 10 - это уже набор данные из одного поля и одной записи.
...
Рейтинг: 0 / 0
11.10.2013, 15:26
    #38424584
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
Мож алиас приделать?
Код: sql
1.
mysql --user=u --password=p db --execute="update----;select row_count() AS records_num"
...
Рейтинг: 0 / 0
12.10.2013, 03:13
    #38425095
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как шелом сделать апдейт, зная сколько строк реально обновилось?
я напился под вечер.

потому что, в четверг не работало
i=`mysql .... --execute "update...;select row_count();"`

сегодня когда решил на пхп это забадяжить, а шелом вызывать пхп - начало и на шеле работать.

(правда до этого я писал роу_каунт большими буквами)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / как шелом сделать апдейт, зная сколько строк реально обновилось? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]