72 похожих чатов

Коллеги, всем привет! Интересует следующий вопрос по MYSQL: предположим, что

есть таблица address с колонками (id int, address text). Нужно сделать так, чтобы один раз записав адрес в таблицу его уже нельзя было изменить. Нашел вариант реализации механизма через триггер: https://stackoverflow.com/questions/10168408/use-a-trigger-to-stop-an-insert-or-update — просто делаем тригер на каждый апдейт и сравниваем old и new значения и если не совпали -> signal'им

Внимание вопрос: как теперь мониторить срабатывание тригера, описанного выше? Пробовал два варианта:

1) внутри тригера пытаться писать в таблицу а-ля, address_audit, однако это не рабочий подход. Если срабатывает SIGNAL, то вся транзакция откатывается и запись в таблицу address_audit также отклоняется

2) копаться в логах mysql. Тут также не преуспел и подходящих логов не нашел. Возможно это связано с тем, что не ко всем настройкам есть доступ(используется managed-решение от Yandex https://cloud.yandex.ru/services/managed-mysql)


Есть ли у кого-то идеи, как можно реализовать сценарий? В идеале хочется автоматизировать детектирование таких апдейтов, т.е. если сработал триггер, то слать нотификацию админу в ТГ или еще куда-то

3 ответов

19 просмотров

А движок MyISAM в MySQL ещё жив? Он нетранзакционный. По идее, если таблицу логов создать на нём, то при откате транзакции запись в лог не исчезнет.

https://sqlize.online/s/v6

Sergey-Sandalov Автор вопроса
Slava Rozhnev SQLtest.online https://phpize.online
https://sqlize.online/s/v6

Это ровно то, что было нужно. Просто и элегантно! Вячеслав, большое спасибо!

Похожие вопросы

Обсуждают сегодня

Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Всем привет. Есть кто разбирается в платежках? Что б принимать из других стран и выплачивать рф снг
Musa
6
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Подскажите, пожалуйста, где в backende, или не в нем можно дату поправить? Логирует действия не в том часовом поясе
Лео
7
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
посыпаю голову пеплом =) https://docs.vapor.codes/advanced/files/?h=stream#files
Seryoga
10
люди а напомните, пожалуста, как называется алгоритм поиска текста который допускает ввод ошибок? Например есть несколько строк: Trigun Trigun: Stumpeede Мне нужно что бы ...
Куся 🌿⃤ __UKS
2
Карта сайта