-- 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子句'
答案 0 :(得分:0)
而不是
INSERT INTO groups(parent_id) values ('0');
我认为你的意思是
SET NEW.parent_id := 0;