Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Синхронизации полей в бд на php


Автор: Biff 14.3.2013, 21:54
Здравствуйте, пытался составить триггер для синхронизации полей в бд, но не получилось, решил через php.

Дано - 1 бд, в ней 2 таблицы - cat_board_data и cat_advert.

В таблице cat_board_data есть числовое поле value_properties, его надо синхронизировать с полем descont в табл. cat_advert, т.е. когда вносятся данные в поле value_properties, они автоматически записывались в descont и наоборот.

Еще, в табл. cat_board_data есть поле n_advert (числовое), оно соответствует полю id_advert в табл. cat_advert, нужно соответственно что бы синхронизируемые поля имели тот же id (id_advert,n_advert). 

Подскажите реализуема такая задача на php? Не знаю как подступиться к ней т.е. не понимаю логику.

Автор: skyboy 14.3.2013, 23:08
запись в базу происходит с использованием РНР кода? вот и пиши сразу в разные поля одинаковые значения.
если же думаешь, что на РНР можно написать триггер и он будет вызываться даже в случае, когда ты поле обновляешь через консоль — то нет, не получится.

Автор: Biff 14.3.2013, 23:37
Цитата

запись в базу происходит с использованием РНР кода? вот и пиши сразу в разные поля одинаковые значения.


Это конечно идеальный вариант, и будь я хорошим программистом я так бы и поступил, но сейчас копаться в большом количестве чужого кода не охота.
Разве нельзя просто написать отдельный скрипт, который в случае изменения одного поля меняет значение  другого?

Автор: skyboy 15.3.2013, 02:09
какая СУБД? впрочем, сходу не скажу, какая СУБД позволяет подписываться на изменения при помощи вызова РНР скрипта

Автор: Aliance 15.3.2013, 10:00
По-моему задача возникла от нежелания разбираться, почему не вышло так, как в общем-то было бы правильнее:
Цитата(Biff @  14.3.2013,  22:54 Найти цитируемый пост)
пытался составить триггер для синхронизации полей в бд, но не получилось



Может быть все же разобраться почему не получилось, все же такие вещи нужно решать методами СУБД.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)