作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想这样做:如果我的表 MisLibros 上不存在数据,则从表电子书中插入值 IdEbook,但是当我尝试调用时mysql 说:#1054 - “where 子句”中的未知列“Ebook.IdEbook”
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;
最佳答案
检查 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 ;
关于mysql在表b中插入数据时在表a中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242523/
我是一名优秀的程序员,十分优秀!