|
|
|
| Доброе утро всем. Помогите, пожалуйста, разобраться с триггером.
Он выдает ошибку 1415: not allowed to return a result set from a trigger
DELIMITER //
CREATE
DEFINER = 'root'@'localhost'
TRIGGER db.trig
AFTER UPDATE
ON `trigger`
FOR EACH ROW
BEGIN
SELECT @id := id FROM `trigger`;
INSERT INTO `change` (idtrigger) VALUES (@id);
END
DELIMITER ;
|
А вот таблицы с данными:
CREATE TABLE db.`change` (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
idtrigger int(10) UNSIGNED NOT NULL,
date timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;
|
и
CREATE TABLE db.`trigger` (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
string varchar(255) NOT NULL,
PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 5
AVG_ROW_LENGTH = 4096
CHARACTER SET utf8
COLLATE utf8_general_ci;
INSERT INTO `trigger` (string) VALUES ("string 1");
INSERT INTO `trigger` (string) VALUES ("string 2");
INSERT INTO `trigger` (string) VALUES ("string 3");
INSERT INTO `trigger` (string) VALUES ("string 4");
INSERT INTO `trigger` (string) VALUES ("string 5");
|
Заранее спасибо. | |
|
|