Опубликовано 2 июня, 200818 г. comment_5472811 Добрый день. Имеется таблица: mysql> explain test; +---------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+----------------+ | id | bigint(20) | NO | PRI | NULL | auto_increment | | name | varchar(20) | NO | | | | | balance | float | NO | | | | +---------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) Имеется запрос: UPDATE `test` SET `balance`=balance-1 WHERE `id`='1' and `balance`>='1'; Запрос, как можно понять, хитрый - выполняет апдейт базы без предварительной жёсткой проверки. К нему можно прикрутить ещё подзапросы и т.д. Но суть в чём - надо узнать зацепил ли он строку в апдейт или нет. При непосредственном запросе в консоли: mysql> UPDATE `test` SET `balance`=balance-1 WHERE `id`='1' and `balance`>='1'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE `test` SET `balance`=balance-1 WHERE `id`='2' and `balance`>='1'; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0 в С-API через mysql_affected_rows() Но как эту единицу (или ноль) изменённых строк получить в переменную внутри запроса?.. У меня никак не получается :( Жалоба
Добрый день.
Имеется таблица:
Имеется запрос:
Запрос, как можно понять, хитрый - выполняет апдейт базы без предварительной жёсткой проверки.
К нему можно прикрутить ещё подзапросы и т.д.
Но суть в чём - надо узнать зацепил ли он строку в апдейт или нет.
При непосредственном запросе в консоли:
в С-API через mysql_affected_rows()
Но как эту единицу (или ноль) изменённых строк получить в переменную внутри запроса?..
У меня никак не получается :(