I am having an error and I can't make sense of it. Here is the code for my trigger:
CREATE TRIGGER before_insert_test
BEFORE INSERT ON player_totals FOR EACH ROW
BEGIN
IF NEW.Player = 'Player' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'basketball-reference duplicate header';
END IF;
END;
I am getting red errors marks in MySQL workbench source code editor for 3 lines. For the line that begins SIGNAL SQLSTATE ...
, It says:
Syntax Error: missing 'semicolon'
For the line that reads END IF;
, the error says:
Syntax error: END (end) is not valid input as this position.
For the line that reads END;
, the error says:
Extraneous input found - expected end of statement
Just not sure how to fix these errors, from what I've seen this looks like the correct syntax...
Try this one, with $$
after END
DELIMITER $$
CREATE TRIGGER before_insert_test
BEFORE INSERT ON player_totals
FOR EACH ROW
BEGIN
IF NEW.Player = 'Player' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'basketball-reference duplicate header';
END IF;
END; $$
DELIMITER ;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.