Страница 1 из 1

результат Update (mysql)

Добавлено: 07 Октябрь 2010, 15:52
Tuko_G
как понять сколько записей обновился

Код: Выделить всё

 dummytbl{prop:SQL}= 'update anketa set age = ' & loc:age & ' where person_Id = ' & loc:person_Id
 if errorcode() = 90 then  message(fileerror() & ' - ' & Fileerrorcode() & '- table anketa.') .
то есть хочу понять сколько записи соответствует условии where (0, 1 ,2 ...) после update

спасибо

Re: результат Update (mysql)

Добавлено: 07 Октябрь 2010, 16:24
BOB
Можно примитивно xоть ДО хоть после update поскольку в Вашем случае поле person_Id НЕ меняется.
dummytbl{prop:SQL}= 'select count(*) from anketa where person_Id = ' & loc:person_Id
next(dummytbl)
В первом поле dummytbl будет результат если первое поле способно принять его . Т.е. если первое поле например
string(1) , а результат двухзначный , то...
Или Вы хотите раскопать где в нутрях sql взять результат?

Re: результат Update (mysql)

Добавлено: 07 Октябрь 2010, 16:46
Дед Пахом
"Сколько записей обновилось" и "сколько записей удовлетворяет условию после обновления" - совершенно разные вещи. Как сказал ВОВ, второе вычисляется путём "select count(*) where...", а первое для MySQL так:
UPDATE returns the number of rows that were actually changed. The mysql_info() C API function returns the number of rows that were matched and updated and the number of warnings that occurred during the UPDATE
Я бы и сам хотел знать, как этой самой mysql_info() пользоваться.

В догонку вопрос по MySQL - создаю примитивную View типа

Код: Выделить всё

create or replace view v1 as select f1 from t
пытаюсь сделать update v1 set f1 = 1 и получаю ошибку "Error Code: 1288
The target table v1 of the UPDATE is not updatable". Пробовал добавлять ALGORITHM=MERGE и SQL SECURITY INVOKER, не помогает.

Re: результат Update (mysql)

Добавлено: 08 Октябрь 2010, 2:39
BOB
пытаюсь сделать update v1 set f1 = 1 и получаю ошибку "Error Code: 1288
Дык в mssql это же не таблица , а процедура т.е. оная на диске не существует а только отображается.

Re: результат Update (mysql)

Добавлено: 08 Октябрь 2010, 7:06
Дед Пахом
Здрассьте! Любая sql из тех что я знаю (5 штук минимум) умеет делать update/delete/insert по вьюхам, естественно, изменения затрагивают underlying table(s).
И вообще речь о MYSQL, а не MS.