php - 如何在触发器的输出中返回错误消息?

标签 php mysql sql database

我正在尝试创建触发器,以确保相同的 shop_id 重复次数不会超过 3 次,并且如果用户尝试为相同的 shop_id 添加超过 3 条记录>,它会抛出错误消息。 我已经编写了以下触发器,但它给了我错误消息。

  IF
    (sum(distinct(shop_id)) >3 )
    SET MESSAGE_TEXT := 'You cannot insert more than 3 Records';
    END IF;

它给了我以下错误消息。

    MySQL said: #1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'SET MESSAGE_TEXT 
:= 'check constraint on

请检查这一点并指导我在这里做错了什么。

enter image description here

最佳答案

SIGNAL SQLSTATE '45000'
       SET MESSAGE_TEXT = 'You cannot insert more than 3 Records';

SIGNAL Syntax

关于php - 如何在触发器的输出中返回错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26294761/

相关文章:

php - 我可以检查哈希密码是否等于 laravel 中的特定值吗?

MySQL 存储过程 - 无法重新打开表(不是临时表)

mysql - 从 mySQL 返回未定义

mysql - 使用mysql根据日期字段自动删除行

MySQL SELECT 查询 - 用另外两个 SUM() 值的总和减去 SUM() 值

php - 如何限制 Symfony 中特定用户对( Controller )操作/方法的访问?

php - Laravel addOrUpdate() 基于相关表值?

php - 在php中获取x的y根,例如8的3根是2

mysql - 如何创建一个脚本来为 MySQL 中的新列赋值?

mysql - 如何获取exists子句中的数据