SQL триггеры. Таблицы inserted не существует

244
20 февраля 2018, 04:20

Здравствуйте, уважаемые специалисты, пишу свой самый первый sql триггер, возникли трудности, прошу помощи. Действия триггера такие: при добавлении новой строки в таблицу "questions2", он создает новую строку в другой таблице "cnt_answ" с таким же id, вот код:

INSERT INTO cnt_answ VALUES ((SELECT id FROM inserted),0) 

но при добавлении записи в таблицу questions2 выдаёт следующую ошибку:

#1146 - Таблица 'salam89q_db_utf.inserted' не существует

она же вроде виртуальная, что я делаю не так?

Answer 1

В триггере доступны поля текущей записи через префиксы NEW для триггеров INSERT, UPDATE и с префиксом OLD для триггеров UPDATE, DELETE. Более того, переменные NEW в BEFORE триггерах можно модифицировать

INSERT INTO cnt_answ VALUES (NEW.id, 0)

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

INSERT INTO cnt_answ(quest_id, cnt) VALUES (NEW.id, 0)
READ ALSO
Решение функции по заданному условию

Решение функции по заданному условию

Здравствуйте! Необходима помощь с правильной записью условия в цикле в методе GetResПрикрепил скриншот функции и текущий код ниже

237
запрос в sql update не работает winforms(c#)

запрос в sql update не работает winforms(c#)

Добрый день, у меня вопросУ меня есть 4 столбца: Id, Name, Price, Amount

242
Сравнение двух путей и получение общей части с конца

Сравнение двух путей и получение общей части с конца

Создаю код бекапа заменяемых файловИмеется:

223
C# PictureBox SizeMode.Zoom

C# PictureBox SizeMode.Zoom

Рисую rectangles на PictureBox с SizeModeZoom

219