为什么SQLSTATE不起作用?

时间:2015-12-24 14:13:00

标签: mysql

我需要在插入投票前检查每个用户的声誉数量。所以为此目的,我有TRIGGER这样的:

CREATE TRIGGER check_reputation BEFORE INSERT ON votes
  FOR EACH ROW
    BEGIN
      IF(new.user_id < 50) THEN
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "you cannot vote";
      END IF;
    END;

但它不起作用,这是错误:

enter image description here

嗯,问题是什么?如何检查SQLSTATE '45000' TEXT_MESSAGE是否适用于我当前的版本?

注意:我使用MySQL 5.0.67

enter image description here

1 个答案:

答案 0 :(得分:0)

在MySQL 5.5中引入了Signal。见What Is New in MySQL 5.5