【问题标题】:TRIGGER CREATED successfully , but no triggers in information_schema TRIGGERS tableTRIGGER CREATED 成功创建,但 information_schema TRIGGERS 表中没有触发器
【发布时间】:2013-03-10 14:18:50
【问题描述】:

您好,我正在尝试使用触发器,我的 MySQL 版本是 5.5.8

问题是当我创建触发器时,PHPMyadmin 说它创建成功,

这是我的触发器

DELIMITER $$
CREATE TRIGGER `check_pupil_before_insert` BEFORE INSERT ON `pupil_data`
FOR EACH ROW  BEGIN
  IF  CHAR_LENGTH( NEW.DateOfBirth ) < 4 THEN
       SIGNAL SQLSTATE '12345'
        SET MESSAGE_TEXT := 'check constraint on pupil_data.DateOfBirth  failed';
    END IF;
END$$  
DELIMITER ;

它说

Your SQL query has been executed successfully
DELIMITER $$ CREATE TRIGGER `check_pupil_before_insert` BEFORE INSERT ON  `pupil_data` 
FOR EACH
ROW BEGIN 
IF CHAR_LENGTH( NEW.DateOfBirth ) <4
THEN SIGNAL SQLSTATE '12345'
SET MESSAGE_TEXT :=  'check constraint on pupil_data.DateOfBirth  failed';

END IF ;

但是当我

select * from information_schema.triggers

MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0843 sec )
SELECT * 
FROM information_schema.triggers
LIMIT 0 , 30

为什么会这样,请帮助我,提前谢谢。

【问题讨论】:

  • 什么返回 SHOW CREATE TRIGGER 查询?
  • an error #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的 '' 附近使用的正确语法
  • 嗯,SHOW CREATE TRIGGER 应该显示触发器的信息或返回空结果集。 ...尝试 new_developer 的解决方案。
  • @Devart 感谢您的帮助。 new_developers 的建议效果很好。

标签: php mysql sql triggers phpmyadmin


【解决方案1】:

检查这个..它将帮助你......并确保查询与图像更改中显示的相同“:=”到“=”

【讨论】:

  • 哇,好用。并且验证也有效。出色的答案,非常感谢,我工作了 10 多个小时来解决这个问题:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
  • 1970-01-01
  • 2011-04-26
  • 2020-05-21
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
相关资源
最近更新 更多