0
請幫我一把。我將一個字符串插入到mysql數據庫表中的列中。但由於我使用的是預定義的API來插入表格,我需要一個觸發器來幫助將字符串解析到其餘列中。這個mySQL觸發語法是否正確?
字符串在長相未來這樣的:((管理員))[[的clientId]] >>>更新客戶資料
該字符串將被插入到該列 '消息'。但是我想在該表中插入3個其他列:user_id,client_id &操作。所以我需要將消息解析爲3個不同的字符串,以便將它們放入正確的列中。
這是我有,這是正確的?
CREATE TRIGGER 'parse_log4j_message' BEFORE INSERT ON 'util_audit'
FOR EACH ROW BEGIN
select NEW.MESSAGE into @message; //adding String into this variable
select LEFT(message, 1) from table into @firstChar; //get first Char in Message
IF strcmp(@firstChar,'(') = 0 THEN //if first char is '(', then message is correct
SELECT SUBSTRING_INDEX(@message, ')', 2) into @userId; //-> admin
SELECT SUBSTRING_INDEX(@message, ']', 2) into @tempClientId;
SELECT SUBSTRING_INDEX(@message, '[', -1) into @clientId; //-> clientId
SELECT SUBSTRING_INDEX(@message, '>', -1) into @action; //-> the rest of the message
SET NEW.USER_ID = @userId; // set into the columns of the table
SET NEW.CLIENT_ID = @clientId;
SET NEW.ACTION = @action;
END IF;
END;