Обновить одно поле при изменении другого - MySQL
Формулировка задачи:
Как автоматически обновить одно поле при изменении другого?
Требуется копировать данные поля `smsLimit` при его обновлении в smsFree (как минимум), и "как максимум" - по условию if ( `smsLimit`<> 0), и наконец "как сверх задача" - if ( `smsLimit` == 0) SET (smsFree) VALUES (100000000') else SET smsFree = smsLimit .
Как это сделать средствами MySQL?
Листинг программы
- CREATE TABLE IF NOT EXISTS `astSMSdevices` (
- `devID` int(10) NOT NULL,
- `smsdevice` varchar(50) NOT NULL,
- `gateType` varchar(50) NOT NULL,
- `portOnGate` varchar(10) NOT NULL,
- `group` int(11) NOT NULL DEFAULT '0',
- `priorInGroup` int(11) NOT NULL DEFAULT '0',
- `smsLimit` int(10) NOT NULL DEFAULT '0',
- `smsFree` int(12) NOT NULL DEFAULT '100000000',
- `doOFFatLImit` int(11) NOT NULL DEFAULT '0',
- `newdevIDatLimit` int(11) NOT NULL DEFAULT '0',
- `timeToLimReset` timestamp NULL DEFAULT NULL,
- `isInUse` int(11) NOT NULL DEFAULT '0',
- `isLineOK` int(11) NOT NULL DEFAULT '1'
- ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
Решение задачи: «Обновить одно поле при изменении другого»
textual
Листинг программы
- ELSE IF NEW.smsLimit <> OLD.smsLimit THEN SET NEW.smsFree=NEW.smsLimit;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д