2015-03-09 2 views
0
-- 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, который должен установить parent_id 0, если идентификатор удаленной записи совпадает с parent_id.1054 ошибка в MySQL из триггера

Вот код триггера:

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' в 'где предложение'

ответ

0

Вместо

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

Я думаю, что вы имели в виду

SET NEW.parent_id := 0; 
+0

В DELETE триггер вы не можете используйте «NEW» ... – curious