关于触发的问题是否有MySQL中的其他语句
我将如何使这个扳机工作?
我打算如下表所示获得结果,但是我当前的触发器似乎不起作用。如果我取出代码的其他段,则详细信息表将记录“ frodo”,并在详细信息表中使用空电话号码记录。
我只想在phone_no不为null时才激活触发器。
客户表
ID | 名称 | phone_no |
---|---|---|
0001 | SAM | 0123456789 |
0002 | frodo | null |
详细信息表
ID | 名称 | 类别 | 详细信息详细信息 |
---|---|---|---|
0001 | SAM | 电话 | 0123456789 |
DELIMITER $$
CREATE TRIGGER new_customer
AFTER INSERT
ON customer
FOR EACH ROW
BEGIN
IF customer.phone_no IS NOT NULL THEN
INSERT INTO details (id, name, category, details)
VALUES(NEW.id, NEW.name, "Phone", NEW.phone_no);
END IF;
END$$
DELIMITER ;
我一直在[valution(new.id,new.name,new.name,“ phone phone phone phone phone”,new.phone_no)上遇到错误[IF;]和[END;]代码的行。
MySQL Workbench的错误对[values(new.id,new.name,“ phone”,new.phone_no);]状态”语句不完整,期望';';' ”。
mySQL工作台的错误[end if;]和[end;]指出“'end'在此位置不有效,期望EOF,Alter,分析,开始,...”。
我不确定代码中的错误在哪里,我想寻求一些建议。
感谢任何帮助或建议。
How would I get this trigger to work?
I intend to get the results as shown in the table below, but my current trigger does not seem to work. If I take out the IF ELSE section of the code, the details table would record "Frodo" with a null phone number in the details table.
I would want to let the trigger only activate when the phone_no is NOT NULL.
Customer Table
id | name | phone_no |
---|---|---|
0001 | Sam | 0123456789 |
0002 | Frodo | NULL |
Details Table
id | name | category | details |
---|---|---|---|
0001 | Sam | Phone | 0123456789 |
DELIMITER $
CREATE TRIGGER new_customer
AFTER INSERT
ON customer
FOR EACH ROW
BEGIN
IF customer.phone_no IS NOT NULL THEN
INSERT INTO details (id, name, category, details)
VALUES(NEW.id, NEW.name, "Phone", NEW.phone_no);
END IF;
END$
DELIMITER ;
I keep getting an error on the [VALUES(NEW.id, NEW.name, "Phone", NEW.phone_no);], [END IF;] and [END;] lines of the code.
The error from MySQL Workbench for [VALUES(NEW.id, NEW.name, "Phone", NEW.phone_no);] states "statement is incomplete, expecting ';' ".
The error for MySQL Workbench for [END IF;] and [END;] states " 'END' is not valid at this position, expecting EOF, ALTER, ANALYZE, BEGIN,... ".
I am not sure where the error is in the code and I would like to seek for some advice.
Would be thankful for any help or advice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
代码现在可以使用。
如P.Salmon的建议,必须添加定界符和“ If New.Phone_no”才能工作。
Code now works with this.
Had to add delimiters and "IF NEW.phone_no" for it to work, as suggested by P.Salmon.