我在数据库中的特定表上写了一个BEFORE INSERT触发器,以强加一些值约束。代码返回以分号分隔的错误列表。我的意图是让我的烧瓶应用程序然后将这个用户定义的错误消息列表返回给客户端。
但是,如果出现多个错误,则会在句子中删除该消息。
以下是编辑的错误消息:
The specified xxxxxxx xxxxx xxxxxxxx (105) exceeds the maximum value (100).;
The specified xxxxxxx xxxxxxx xxxxx xxxxxxxx (90) is
以下是触发器的一些代码:
BEGIN
DECLARE rtn TEXT;
DECLARE error BOOLEAN;
-- Declare variables here
-- Select some values into those variables
-- Check new row fields against variables
IF error THEN
SIGNAL SQLSTATE '02001'
SET MESSAGE_TEXT = rtn;
END IF;
答案 0 :(得分:0)
假设您使用的是PHP,则异常消息有最大限制。这由php.ini中的 log_errors_max_len 定义。有关详细信息,请参阅此处https://bugs.php.net/bug.php?id=31955
您可以尝试更改它。
但我建议使用存储过程/函数来插入数据。然后它可以返回任何长度的错误值。