|
Triggers?
|
|||
---|---|---|---|
#18+
Если я правильно понял: триггеров на одно событие может быть несколько, порядок их выполнения не должен быть важен, но все-таки - какой? В зависимости от выбранного типа ENGINE поведение триггера, точнее результаты его работы могут кардинально отличаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2019, 17:45 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Триггеры выполняются в порядке их создания, если не задано иное при создании триггера (для создаваемого триггера можно задать, перед каким существующим его поместить). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2019, 17:57 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Есть база, хочу перенести данные из другой базы (не MySQL, MariaDB). Надо запретить все триггеры во всех таблицах , перенести данные, разрешить триггеры Как запретить/разрешить все триггеры в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 13:48 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Никак. Только удаление и последующее восстановление. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 15:20 |
|
Triggers?
|
|||
---|---|---|---|
#18+
AkinaНикак. Только удаление и последующее восстановление. да, уж.... нашел еще: сделать переменную и в триггеры насовать проверки, чтобы не выполнялись. Это, если триггеры свои и их не до фига. Как сделать глобальную переменную? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 15:43 |
|
Triggers?
|
|||
---|---|---|---|
#18+
AkinaНикак. Только удаление и последующее восстановление. и еще: как загрузить данные в живую базу, но чтобы триггеры не работали? Особенно, если база чужая. Понятно, что можно заскриптовать все триггеры, удалить и потом пересоздать. Это единственный варант? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 15:52 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг Хупиннашел еще: сделать переменную и в триггеры насовать проверки, чтобы не выполнялись. Это, если триггеры свои и их не до фига.А смысл? всё равно они не редактируются, так что по-любому получить его текст. А, имея текст, проще удалить. чем создать наново, но с дополнительной проверкой. Ролг Хупинкак загрузить данные в живую базу, но чтобы триггеры не работали? Особенно, если база чужая.Бэкап, подмена данных, рестор. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 15:55 |
|
Triggers?
|
|||
---|---|---|---|
#18+
[quot Akina]Ролг Хупиннашел еще: сделать переменную и в триггеры насовать проверки, чтобы не выполнялись. Это, если триггеры свои и их не до фига.А смысл? всё равно они не редактируются, так что по-любому получить его текст. А, имея текст, проще удалить. чем создать наново, но с дополнительной проверкой. Вот так пишут https://mysql-0v34c10ck.blogspot.com/2011/06/how-to-disableenable-triggers-on-demand.html ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 17:08 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг ХупинВот так пишутПусть пишут... вот только сам MySQL про эти переменные как-то не в курсе - в документации про них ни полслова. Вот попытка воспроизвести то, что там написано (специально взята версия 5.6, указанная в статье): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Ещё вопросы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 19:13 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг ХупинВот так пишут https://mysql-0v34c10ck.blogspot.com/2011/06/how-to-disableenable-triggers-on-demand.html Так там же такое: Код: sql 1. 2.
Это и есть "сделать переменную и в триггеры насовать проверки, чтобы не выполнялись" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 00:30 |
|
Triggers?
|
|||
---|---|---|---|
#18+
miksoftЭто и есть "сделать переменную и в триггеры насовать проверки, чтобы не выполнялись"А, точно. Невнимательно посмотрел. Не, костыль. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 08:09 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Все равно как-то не ясно: есть база, надо из другой базы перенести данные в нее: 1. триггеры - хоть и нельзя запретить, но, предположим как описано выше можно решить. 2. что делать с foreign keys и CONSTRAINT ? По-хорошему их тоже неплохо бы запретить до вставки и потом разрешить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 09:30 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Внешние ключи прекрасно выключаются. Но я бы не советовал это делать, по крайней мере, без тщательной проверки входящих данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 10:02 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг Хупинесть база, надо из другой базы перенести данные в нее Состояние, когда данные из другой базы добавляются к имеющимся, и при этом БД не подготовлена к тому, что на ней потребуется выполнять операцию слияния - в общем следует считать нештатным. И соответственно нет никакого повода обижаться и возмущаться, что процесс обложен граблями и требует костылей. Ролг Хупинчто делать с foreign keysМожно отключить. Лучше не отключать. необходимость грузить данные в правильном порядке и некоторое замедление процесса загрузки - небольшая цена за гарнтию целостности данных. Ролг Хупинчто делать с ... CONSTRAINTСмириться. Они крайне редко бывают сложными, и, следовательно, почти не тормозят процесс. Но если вот реально упёрлось - то только так же, как с триггерами. Удалить, после слияния восстановить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 10:29 |
|
Triggers?
|
|||
---|---|---|---|
#18+
AkinaРолг Хупинесть база, надо из другой базы перенести данные в нее Состояние, когда данные из другой базы добавляются к имеющимся, и при этом БД не подготовлена к тому, что на ней потребуется выполнять операцию слияния - в общем следует считать нештатным. И соответственно нет никакого повода обижаться и возмущаться, что процесс обложен граблями и требует костылей. Ролг Хупинчто делать с foreign keysМожно отключить. Лучше не отключать. необходимость грузить данные в правильном порядке и некоторое замедление процесса загрузки - небольшая цена за гарнтию целостности данных. Ролг Хупинчто делать с ... CONSTRAINTСмириться. Они крайне редко бывают сложными, и, следовательно, почти не тормозят процесс. Но если вот реально упёрлось - то только так же, как с триггерами. Удалить, после слияния восстановить. Целевая база - новая, пустая, только структура. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 13:56 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг ХупинЦелевая база - новая, пустая, только структура.Пфф... А чего тогда огород городить? Прибить базу и развернуть с нуля из бэкапа. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 15:02 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Огорода нет, создаю базу, натягиваю структуру, а там - есть некоторые минимальные данные и триггеры есть, с того и вопрос возник. В постгресе я делал функцию, которая запрещает/разрешает. Ну, вот. Ну, и извечная тяга к знаниям движет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 15:39 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг Хупиннатягиваю структуру, а там - есть некоторые минимальные данные и триггеры естьНу так просто переносишь создание триггеров в конец скрипта... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 21:04 |
|
Triggers?
|
|||
---|---|---|---|
#18+
Ролг Хупин, ситуация запутанная..... весьма... но разрешима... есть опция mysqldump --skip-triggers в дампе автоматом добавляются флаги отключения констрейнтов Код: sql 1. 2. 3. 4. 5. 6. 7.
залить без триггеров, потом сделать дамп с триггерами --triggers и --no-date Решение в лоб всегда самое простое... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 17:15 |
|
|
start [/forum/topic.php?fid=47&msg=39878359&tid=1828811]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
291ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 399ms |
0 / 0 |