-- 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;
这是我创建表的代码,如果删除的记录的 id 与 Parent_id 匹配,我在 DELETE 之前有一个触发器,必须将 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 - unknown column 'parent_id' in 'where clause'
最佳答案
而不是
INSERT INTO groups(parent_id) values ('0');
我想你的意思是
SET NEW.parent_id := 0;
关于mysql - 由于触发器导致 mysql 出现 1054 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28943605/