Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (3)
  • Можно ли переходя по ссылке передать body запроса?

    @NiceDay
    непосредственно переход по ссылке - всегда GET запрос и тела содержать не будет.

    но есть такой трюк - на ссылку навешивается обработчик, который при клике создаст невидимую форму с атрибутом method=POST, добавит её на страницу куда-нибудь в конец body и засабмитит.
    для пользователя всё выглядит как просто переход по ссылке.
    Ответ написан
    Комментировать
  • Как исправить "subquery returns more than 1 row" в "after update" триггере?

    @NiceDay
    у вас в UPDATE входит два подзапроса. какой-то из них возвращает больше одной строки, что не применимо в данной ситуации.

    например, вот этот блок (SELECT value1 FROM test1) -
    в случае, если ваша таблица test1 содержит больше одной строки, этот запрос вернет их все.
    если вам нужно получить новое значение столбца обновляемой таблицы, вы можете, как заметил комментатор выше, использовать NEW или OLD:
    UPDATE `database`.`test2` SET `value1` = NEW.value1 * 2...


    аналогично предыдущему,
    WHERE (`id` = (SELECT id FROM test1));
    вернет столько строк с одним столбцом id, сколько существует в таблице test1, что не допустимо для оператора равенства.
    если вам нужно обновить строку в таблице test2, id которой такой же, как и id у обновляемой записи в test1, то следует использовать NEW.id и ваш запрос приобретет следующий вид:

    CREATE DEFINER=`root`@`localhost` TRIGGER `afupd_yzv2` AFTER UPDATE ON `test1` FOR EACH ROW BEGIN 
        UPDATE `database`.`test2` SET `value1` = NEW.value1 * 2 WHERE `id` = NEW.id
    END
    Ответ написан
    Комментировать