динамическая вставка имен столбцов из функции ключей json и значений из json

#mysql #mysql-workbench

#mysql #mysql-workbench

Вопрос:

я пытаюсь вставить значения в таблицу, где таблица генерируется динамически, поэтому значения также должны быть вставлены в таблицу на основе имен столбцов (динамических), откуда они извлекаются с помощью функции ключей json.Как я могу вставить в таблицу?

 delimiter $$
create procedure save_insertion1(in _tid int,in _insertion varchar(2000))
begin
    declare a,_length,_id int default 0;
    declare _value varchar(2) default null;
    set _length=json_length(_insertion);
    select _length;
    set a=0;
    while(_length>a) do
        set @result=(select json_keys(_insertion));
        select @result;
        set @column=(select replace(json_extract(@result,concat('$[',a,']')),'"',''));
        select @column;
        set @value=(select replace(json_extract(_insertion,concat('$.Location')),'"',''));
        select @value;
        set @ins=('insert into form(',@column,')values(',@value,')');
        prepare stmt3 from @ins;
        execute stmt3;
    end while;
end;$$
  

Код ошибки: 1241 Операнд должен содержать 1 столбец (ы)

Ответ №1:

set @ins=concat(‘вставить в форму(‘,@column,’) значения(‘,@value,’)’);

Комментарии:

1. Необходимо объединить входные значения, чтобы это не выдавало ошибку.