【发布时间】:2016-08-07 18:10:46
【问题描述】:
在创建触发器以在 MyISAM 引擎上强制执行外键检查时遇到问题。有什么建议么?请在下面查找错误。
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在 'ERROR 1644 (45000): Custom ForeignKeyError 附近使用的正确语法 ELSEIF (SELECT CO' at line 8 (SQL:
CREATE TRIGGER insert_user_permission
BEFORE INSERT ON user_permissions
FOR EACH ROW
BEGIN
IF (SELECT COUNT(*) FROM users WHERE users.id=new.user_id)= 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Custom ForeignKeyError'
ERROR 1644 (45000): Custom ForeignKeyError
ELSEIF (SELECT COUNT(*) FROM permissions WHERE permissions.id=new.permission_id)= 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Custom ForeignKeyError'
ERROR 1644 (45000): Custom ForeignKeyError
END IF;
END;)
【问题讨论】: