В mysql есть определенная графа, тип int в неё вносятся числа и нужно что бы при достижении определенного порога(допустим число больше 100) происходило какое то событие, например удаление этой строки. Чем можно воспользоваться для такого отслеживания?(немного знаю про триггеры, но не знаю будут ли они уместны и есть ли что-то лучше).
И 2 вопрос, обязательно ли в php закрывать соединение с mysql после записи/получения данных?(в плане производительности)
при достижении определенного порога(допустим число больше 100) происходило какое то событие, например удаление этой строки.
Изменение значения инициируется из PHP скрипта?
Вот и сделайте в скрипте проверку: если новое значение больше 100 - DELETE, иначе - UPDATE.
Никаких кронов / events и триггеров тут не нужно.
Создайте колонку с int(2) - то есть ограничение 2 символа от 0 до 99 - это 100.
Напишите скрипт на php, который опрашивает БД на наличие колонки int в которой значение 99. Если есть данное значение - действие.
Добавьте php в corn с вызовом каждые 60 секунд.
Да, обязательно. Нет, не обязательно. Все зависит от ситуации.
> колонку с int(2) - то есть ограничение
Не вводите людей в заблуждение, пожалуйста. int(2) и int(11) ничем между собой не различаются. И тот и другое 32-битные целые числа с соответствующим 32-битным диапазоном значений. Цифра в скобках - подсказка, которую может использовать клиент для форматирования вывода. Только и всего. Ограничением никогда не являлась и не является. https://dev.mysql.com/doc/refman/5.7/en/numeric-ty...
Ограничения на данные - это check constraint. mysql их банально не умеет. Приходится колхозить ограничения через триггеры или только на уровне приложения. Удалить из update триггера эту самую строку не выйдет.
я об этом думал, сначала сделать SELECT, произвести расчеты и дальше решить удалять строку или перезаписать. Но думал, что есть более эргономичное решение, уместившееся в 1 запрос