#mysql
Вопрос:
В чем ошибка в этом коде (при условии, что teacher
она существует)? Этот код продолжает выдавать мне синтаксические ошибки в mysql workbench, но он отлично работает в vscode.
CREATE TRIGGER teacher_add_validation AFTER INSERT ON teacher FOR EACH ROW
BEGIN
IF NEW.Account LIKE '% %' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "No spaces allowed in account names.";
END IF;
END;
Комментарии:
1. показать сообщение об ошибке
2. @BerndBuffen 19:32:40 СОЗДАЙТЕ ТРИГГЕР stu_add_validation ПОСЛЕ ВСТАВКИ НА студента ДЛЯ КАЖДОЙ СТРОКИ, ЕСЛИ ОНА НОВАЯ. Учетная запись, ТАКАЯ КАК»%%», ЗАТЕМ СООБЩИТЕ SQLSTATE «45000», УСТАНОВИТЕ MESSAGE_TEXT = «В именах учетных записей не допускается пробелов». Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL, на наличие правильного синтаксиса, который будет использоваться рядом » в строке 3 0.000 сек
Ответ №1:
у вас есть РАЗДЕЛИТЕЛЬ ??
set DELIMITER //
CREATE TRIGGER teacher_add_validation AFTER INSERT ON teacher FOR EACH ROW
BEGIN
IF NEW.Account LIKE '% %' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "No spaces allowed in account names.";
END IF;
END;
//
SET DELIMITER ;