由于触发器,mysql中出现1054错误

时间:2015-03-09 13:49:05

标签: mysql triggers mysql-error-1054

-- Table `testas`.`groups`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `testas`.`groups` ;

CREATE TABLE IF NOT EXISTS `testas`.`groups` (
  `ID` VARCHAR(36) NULL,
  `name` VARCHAR(45) NULL,
  `count` INT(10) NOT NULL,
  `parent_id` VARCHAR(36) NULL,
  PRIMARY KEY (`count`))
ENGINE = InnoDB;

这是我创建表的代码,我有一个触发器BEFORE DELETE,如果已删除记录的id与parent_id匹配,则必须将parent_id设置为0。

以下是触发器的代码:

CREATE TRIGGER `groups_BEFORE_DELETE` BEFORE DELETE ON `groups`
 FOR EACH ROW BEGIN
    IF OLD.ID = parent_id THEN
        INSERT INTO groups(parent_id) values ('0');
    END IF;
END

当我想删除其中一条记录时出现错误。

  

#1054 - 未知栏' parent_id'在' where子句'

1 个答案:

答案 0 :(得分:0)

而不是

INSERT INTO groups(parent_id) values ('0');

我认为你的意思是

SET NEW.parent_id := 0;