2015-09-10 2 views
0

Моей таблицы связанных с книгой, я хочу, чтобы найти, сколько записей в конкретных критериях в определенном столбцеСоздать триггер посчитать не записи

{DELIMITER $$ 
CREATE TRIGGER No_of_Publisher_year After Insert ON Books FOR EACH ROW Set @[email protected]_NO + New.Copyright Begin 
    SELECT Count(@Count_NO) AS 'No_of_publisher_in_year_2007' FROM Books WHERE Copyright=2007; 

END; $$ 
DELIMITER ;} 

Я получаю сообщение об ошибке:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Count(@Count_NO) AS 'No_of_publisher_in_year_2007' FROM Books WHERE Copyr' at line 2

ответ

0

Вы должны изменить свой триггер тело, как показано ниже

CREATE TRIGGER No_of_Publisher_year 
After Insert ON Books 
FOR EACH ROW 
Begin 
Set @Count_NO := @Count_NO + New.Copyright; 
    SELECT Count(*) AS 'No_of_publisher_in_year_2007' 
    FROM Books WHERE Copyright=2007; 
END; 
+0

Спасибо за вашу помощь @Rahul Но я получаю g такая ошибка: ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего MySQL-сервера, для правильного синтаксиса для использования рядом с '' в строке 5 s – Ann

+0

Я изменил код Как это: 'CREATE TRIGGER No_of_Publisher_year ПЕРЕД ВСТАВКОЙ НА книги ДЛЯ КАЖДОГО РУКА set @ d = (SELECT Count (@Count_NO) AS 'No_of_publisher_in_year_2007' FROM Books WHERE Copyright = 2007); 'Но нет вывода – Ann

Смежные вопросы