За последние 24 часа нас посетили 22859 программистов и 1260 роботов. Сейчас ищут 790 программистов ...

Не работает триггер

Тема в разделе "MySQL", создана пользователем bruce159357, 9 ноя 2017.

  1. bruce159357

    bruce159357 Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    4
    Симпатии:
    0
    По заданию нужно создать триггер, который при выполнении функции INSERT для таблицы 1 вставлял бы в таблицу 2 количество строк в таблице 1.
    Сам триггер:

    Код (Text):
    1. create trigger up_insert
    2. before insert
    3. on task24
    4. for each row
    5.     update task24u
    6.     set co2 = count(task24.c1) where co1 = 2
    После этого выполняю команду:
    Код (Text):
    1. INSERT INTO `task24` (`co1`, `co2`, `co3`) VALUES (NULL, 'kk', 'kkk');
    Но вылетает ошибка:
    13:55:32 INSERT INTO `task24` (`co1`, `co2`, `co3`) VALUES (NULL, 'kk', 'kkk') Error Code: 1111. Invalid use of group function 0.000 sec

    Пробовал before и after
     
    #1 bruce159357, 9 ноя 2017
    Последнее редактирование: 9 ноя 2017
  2. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Ошибка тут:
    Код (Text):
    1. co2 = count(task24.c1)
    Надо так:
    Код (Text):
    1. co2 = ( SELECT COUNT( с1 )
    2. FROM task24 )