gpt4 book ai didi

mysql - phpMyadmin DELIMITER 错误是真是假?

转载 作者:行者123 更新时间:2023-11-29 11:38:23 26 4
gpt4 key购买 nike

在网上阅读了很多关于存储过程和触发器等使用分隔符的内容后,我有点困惑。

根据我的理解,对于分隔符,触发器 block 应该这样编写:

DROP TRIGGER IF EXISTS innovationevents.Task9Trigger1;
DELIMITER //
CREATE TRIGGER innovationevents.Task9Trigger1
BEFORE INSERT ON innovationevents.tblattendees
FOR EACH ROW
BEGIN

INSERT INTO innovationevents.tblregistration
(RegistrationID, AttendeeID, EventID, RegistrationDate, RegistrationPaid)
VALUES (40, new.AttendeeID, 3, CURDATE(), 0);

END //

现在的问题是我在 phpMyadmin 中收到一条错误消息,但代码仍然运行。我在想也许是错的?或者是否有更复杂的解释来解释为什么我的代码是错误的?一直看到这个错误真的让我很烦恼:P

enter image description here

最佳答案

DELIMITER指令不属于MySQL数据库,而是属于mysql命令行客户端。

通常,mysql 将分号 (;) 识别为输入结束标记,这会使其将命令缓冲区的当前内容传输到数据库以进行操作。执行。使用 DELIMITER 指令允许您输入复合命令(例如,作为 CREATE PROCEDURE 的主体),并终止组件简单命令通过分号而不触发过早的输入结束。

MySQL Workbench 还需要使用 DELIMITER 指令,但其他客户端不需要,包括(我记得)phpMyAdmin。您可以很容易地通过实验验证这一点。

关于mysql - phpMyadmin DELIMITER 错误是真是假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com