У меня есть таблица с тремя столбцами (State_id, Country_id, state_name). И у меня есть строка с разделителями в виде строки (1 | 2 | ABC).
сейчас Что я хочу делать всякий раз, когда нажимаю на триггерв это время, независимо от того, в какую строку в качестве разделителя канала используется Преобразование в имя столбца, например
Insert INTO tablename values (1,2,ABC);
, каждый раз, когда у меня есть разные строки в виде строки с разделителями в виде столбца, могут быть 4 или более.
BEGIN
DECLARE a INT Default 0 ;
DECLARE str VARCHAR(255);
simple_loop: LOOP
SET a=a+1;
SET str=SPLIT_STR(new.remarks,"|",a);
IF str='' THEN
LEAVE simple_loop;
END IF;
insert into new.tablename values (str);
END LOOP simple_loop;
END
Я сделал SPLIT_STR, который делит значение на единицу
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '')
Я пытался вот так. Но это не работает.