我在特定条件下有触发器,如果条件:false
发生错误。我应该在HTML
网页的数据库触发器中显示该错误消息,以通知用户!
CREATE TRIGGER check_trigger BEFORE INSERT ON your_table
FOR EACH ROW
BEGIN
IF (NEW.name = NEW.firstname) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'same names error. Insertion canceled';
END IF;
END
如何在网页上显示SET MESSAGE_TEXT=""
?如果不可能通过其他任何方式
答案 0 :(得分:4)
您可以查看the documentation here。
它说:
执行SIGNAL后可访问的错误值是SIGNAL语句以及MESSAGE_TEXT和MYSQL_ERRNO项目引发的SQLSTATE值。这些值可从C API获得:
mysql_sqlstate()
返回SQLSTATE
值。
mysql_errno()
返回MYSQL_ERRNO
值。
mysql_error()
返回MESSAGE_TEXT
值。
由于我猜您正在使用PHP,因此可以尝试
if (!$mysqli->query("INSERT INTO your_table SET name='a', firstname='a'")) {
printf("Error message: %s\n", $mysqli->error);
}
答案 1 :(得分:0)
您可以看到类似Pusher的某种东西,它是一种外部休息服务,可以将消息推送到您的网站。