Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL - прошёл ли апдейт?

Опубликовано

Добрый день.

Имеется таблица:

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()

 

Но как эту единицу (или ноль) изменённых строк получить в переменную внутри запроса?..

У меня никак не получается :(

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.