我想这样做: 如果不存在我的表MisLibros上的数据然后从表电子书插入值IdEbook,但当我尝试CALL mysql说:#1054 - 未知专栏' Ebook.IdEbook'在' where子句'
PD:我不想使用UPDATE,我需要做INSERT
CREATE PROCEDURE SPExistencia (
)
BEGIN
START TRANSACTION;
IF NOT EXISTS (SELECT IdEbook FROM MisLibros WHERE Ebook.IdEbook= MisLibros.IdEbook) THEN
INSERT INTO MisLibros (IdEbook) VALUES (NEW.IdEbook);
ELSE
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT= 'Ya cuentas con el libro seleccionado';
END IF;
COMMIT;
END;
答案 0 :(得分:0)
使用示例检查CREATE TRIGGER语法。
试试这个:
DELIMITER $$
DROP TRIGGER /*!50032 IF EXISTS */ `TR_Ebook`$$
CREATE
TRIGGER `TR_Ebook` AFTER INSERT ON `Ebook`
FOR EACH ROW BEGIN
IF NOT EXISTS (SELECT 1 FROM MisLibros WHERE NEW.IdEbook = MisLibros.IdEbook) THEN
INSERT INTO MisLibros (IdEbook)
VALUES (NEW.IdEbook);
END IF;
END;
$$
DELIMITER ;