Добрый день,
Возможно ли в php-код добавлять другие операторы типа UPDATE, DELETE, INSERT?
mysql_query("UPDATE app_entity_41 SET field_523 = '123'");
Если я напишу триггер в таблице БД, то при переходе на другую версию Руководитель. Могут возникнуть проблемы?
php-код
- alcompstudio
- Спонсор
- Сообщения: 1753
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: php-код
Добрый день, насколько я знаю, можно использовать, по крайней мере я использовал UPDATE. При переходе на новые версии ничего не слетает.
- support
- Техническая поддержка
- Сообщения: 9228
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: php-код
Лучше использовать db_query
https://docs.rukovoditel.net.ru/index.php?p=71
Код: Выделить всё
db_query("select * from app_entity_1 ....");
Re: php-код
Подскажите пожалуйста а на INSERT, UPDATE работать будет?
Последний раз редактировалось pensar 31 дек 2021, 14:03, всего редактировалось 1 раз.
Re: php-код
Подскажите пожалуйста а на INSERT, UPDATE работать будет?support писал(а): ↑31 дек 2021, 08:16 Лучше использовать db_queryhttps://docs.rukovoditel.net.ru/index.php?p=71Код: Выделить всё
db_query("select * from app_entity_1 ....");
Было бы на много удобнее, если бы SQL запросы на операторы UPDATE, INSERT, DELETE отрабатывали из поля php-код.
Я бы заменил текущий триггер на php-код.
Данный тригер смотрит на категорию запроса и вставляет нужных участников и куратора.
CREATE DEFINER=`root`@`localhost` TRIGGER `db`.`app_entity_25_BEFORE_INSERT` BEFORE INSERT ON `app_entity_25` FOR EACH ROW
BEGIN
DECLARE vCategory INT;
DECLARE vCurator VARCHAR(100);
DECLARE vMembers VARCHAR(1000);
SELECT field_530 INTO vCategory FROM app_entity_42 WHERE field_530 = NEW.field_217;
SELECT field_532 INTO vCurator FROM app_entity_42 WHERE field_530 = NEW.field_217;
SELECT field_531 INTO vMembers FROM app_entity_42 WHERE field_530 = NEW.field_217;
IF NEW.field_217 = vCategory THEN
SET NEW.field_224 = vMembers;
SET NEW.field_261 = vCurator;
ELSE
BEGIN
SET NEW.field_224 = '';
SET NEW.field_261 = '';
END;
END IF;
END