#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. Необходимо объединить входные значения, чтобы это не выдавало ошибку.