|
MySQL: Как может возникнуть рассинхронизация между таблицами, если есть триггеры?
| ☑ |
0
Доктор Манхэттен
03.10.18
✎
16:42
|
Есть две таблицы, т1 и т2
Стоит триггер, после изменения т1, обновлять данные в т2
Но так произошло, что в таблице т1 некоторые данные новые (сегодняшние), а в т2 те же самые данные - вчерашние.
Как такое возможно?
Сейчас проверяю, перезаписываю эти строки в т1 сам лично, и в т2 они нормально обновляются.
|
|
1
Cool_Profi
03.10.18
✎
16:44
|
Грохнули триггер, залили данные, восстановили триггер
|
|
2
Доктор Манхэттен
03.10.18
✎
16:46
|
(1) Божатся что руками не лезли в базу. А через интерфейс ничего грохнуть нельзя.
|
|
3
Cool_Profi
03.10.18
✎
16:50
|
(2) Божиться можно как угодно
|
|
4
Доктор Манхэттен
03.10.18
✎
16:51
|
(3) Вариант что грохнули триггер больше не рассматриваем
|
|
5
scanduta
03.10.18
✎
17:00
|
(0)Если ты не знал действия триггера можно отключить, также он не будет работать в bulk insert
|
|
6
Доктор Манхэттен
03.10.18
✎
17:23
|
(5) Вариант что я не знал что триггер можно отключить не рассматриваем.
А про то что он не работает в bulk insert расскажи пожалуйста поподробнее. Что ты имеешь в виду под bulk insert?
|
|
7
Cool_Profi
03.10.18
✎
17:24
|
(5) Какая булка в мыскле? Давно она там появилась?
|
|
8
Cool_Profi
03.10.18
✎
17:25
|
(5) Да и в той же мыскле отключить триггер сложноватенько будет. Проще удалить его и потом пересоздать
|
|
9
Доктор Манхэттен
03.10.18
✎
17:29
|
(7) Ну булка то есть, какая-никакая. Но триггеры в ней отрабатывают как положено. Что имел в виду (7) не понятно.
|
|
10
scanduta
03.10.18
✎
17:34
|
(7)(9) не увидел, думал MS SQL
|
|
11
Salimbek
03.10.18
✎
18:14
|
(0) Да кто ж его знает, что там у вас наворочено. Например в т1 пишем ИД и не контролируем на уникальность, а в т2 по этому ключу уникальный индекс. Записали в т1, триггером ушла запись в т2. Потом еще раз записали этот же ключ в т1, и в триггере произошла ошибка. Или таблица т2 была заблокирована и запись не удалась.
|
|
12
Доктор Манхэттен
03.10.18
✎
18:20
|
(11) Нет, так не может быть. В (0) я писал, что перезаписывал те данные которые в прошлый раз не обновились когда я на них не смотрел, и при мне они обновились через триггер как положено.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший