我遇到了创建触发器的问题。
所以我有两个表:product(name,...)
和detect(id,name_prod,quantity)
,我编写了一个代码,无论何时在product
中插入值,都会在detect
中为每个表创建一个新行id存在并将数量值启动为零:
DELIMITER $$
CREATE TRIGGER detect_default
AFTER INSERT ON product
FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT name_prod FROM detect WHERE new.name=name_prod) THEN
INSERT INTO detect(name_prod,quantity) VALUES(new.name,0);
END IF;
END$$
DELIMITER ;
此代码的问题是只在detect
中创建一行,名称为product.name
且数量为0,但id为null。
如何为每个现有ID创建一行?