【问题标题】:trigger in MYSQL CONSOLEMYSQL CONSOLE 中的触发器
【发布时间】:2023-04-02 09:40:01
【问题描述】:

我正在处理phpmyadmin。 要编写触发器,我使用的是mysql console
它在启动时效果很好。但是一旦我写了一个触发器并且它被成功执行,那么每次在任何查询之后我都必须给delimiter(|)来执行查询。
我无法理解为什么我必须在简单的选择查询之后放置分隔符?分隔符用于触发仪式。
我在写触发器时遗漏了什么吗? 例如:

在触发后,我正在编写选择语句而不是我必须将其编写为:

select * from tableName;|

如果我不使用|,它不会被执行。

【问题讨论】:

    标签: mysql database stored-procedures console phpmyadmin


    【解决方案1】:

    试试这个:

    DELIMITER $$
    
    DROP TRIGGER IF EXISTS `myTriggerName`$$
    
    CREATE TRIGGER `myTriggerName` AFTER DELETE ON `myTableName` FOR EACH ROW BEGIN
    
    ...........
    ............
    .............
    
    END$$
    DELIMITER ;
    

    【讨论】:

      【解决方案2】:

      触发器创建后,需要将分隔符改回';'

      参见手册中的示例:

      http://dev.mysql.com/doc/refman/5.6/en/stored-programs-defining.html

      delimiter //
      
      ... your trigger here ...
      
      delimiter ; <-- change the delimiter back
      

      【讨论】:

        猜你喜欢
        • 2011-05-11
        • 1970-01-01
        • 2019-08-07
        • 2020-11-09
        • 2020-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多