Обновить одно поле при изменении другого - MySQL

Узнай цену своей работы

Формулировка задачи:

Как автоматически обновить одно поле при изменении другого? Требуется копировать данные поля `smsLimit` при его обновлении в smsFree (как минимум), и "как максимум" - по условию if ( `smsLimit`<> 0), и наконец "как сверх задача" - if ( `smsLimit` == 0) SET (smsFree) VALUES (100000000') else SET smsFree = smsLimit . Как это сделать средствами MySQL?
Листинг программы
  1. CREATE TABLE IF NOT EXISTS `astSMSdevices` (
  2. `devID` int(10) NOT NULL,
  3. `smsdevice` varchar(50) NOT NULL,
  4. `gateType` varchar(50) NOT NULL,
  5. `portOnGate` varchar(10) NOT NULL,
  6. `group` int(11) NOT NULL DEFAULT '0',
  7. `priorInGroup` int(11) NOT NULL DEFAULT '0',
  8. `smsLimit` int(10) NOT NULL DEFAULT '0',
  9. `smsFree` int(12) NOT NULL DEFAULT '100000000',
  10. `doOFFatLImit` int(11) NOT NULL DEFAULT '0',
  11. `newdevIDatLimit` int(11) NOT NULL DEFAULT '0',
  12. `timeToLimReset` timestamp NULL DEFAULT NULL,
  13. `isInUse` int(11) NOT NULL DEFAULT '0',
  14. `isLineOK` int(11) NOT NULL DEFAULT '1'
  15. ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

Решение задачи: «Обновить одно поле при изменении другого»

textual
Листинг программы
  1. ELSE IF NEW.smsLimit <> OLD.smsLimit THEN SET NEW.smsFree=NEW.smsLimit;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы