【问题标题】:Custom errors in mysql trigger [duplicate]mysql触发器中的自定义错误[重复]
【发布时间】:2012-02-13 09:36:43
【问题描述】:

可能重复:
raise error within MySql function

在 MsSQL 中我可以引发自定义错误:

CREATE TRIGGER [dbo].[TR__TABLE__DisableRowOnDelete]
ON [dbo].[TABLE]
INSTEAD OF DELETE
AS 
BEGIN
    RAISERROR ('Data cannot be deleted.', 16, 1);
END

我如何在 MySQL 中做到这一点?

【问题讨论】:

  • @weston 在提出问题之前查看 SO 中是否已经存在。
  • @aF 我很高兴我没有,否则我不会发现有关 SIGNAL 的信息
  • @aF。请注意,突出显示的另一个问题是 3 岁,没有接受的答案。所以我认为再次问这个问题是可以接受的。 (虽然我不否认在查看匹配问题列表时完全错过了它)。

标签: mysql sql-server raiseerror


【解决方案1】:

在 MySQL 5.5 中,您可以使用 SIGNAL 语句,例如-

CREATE PROCEDURE TR__TABLE__DisableRowOnDelete()
BEGIN
  SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Data cannot be deleted.';
END

【讨论】:

    猜你喜欢
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多