#mysql #prepared-statement
Вопрос:
Я создал временную таблицу
DROP TABLE IF EXISTS tabFormNgwIds; CREATE TEMPORARY TABLE tabFormNgwIds ( Id INT NOT NULL AUTO_INCREMENT, FormIdVal VARCHAR(255), FormIdTabName VARCHAR(255) NOT NULL, renameFormIdTabName VARCHAR(255) NOT NULL, KEY(Id) );
Вставленные данные в эту таблицу,
SET @idqdynamicngw=CONCAT('INSERT INTO tabFormNgwIds (FormIdVal,FormIdTabName,renameFormIdTabName) SELECT form_types,CONCAT(''ap_form_'',form_types),CONCAT(SUBSTRING(name ,1,(52-length(form_types))),''_'',form_types)rnFROM form_work WHERE tenant_id = 1365 AND form_types !="" AND active=1 AND STATUS= 1'); PREPARE stmtiddynamicngw FROM @idqdynamicngw; EXECUTE stmtiddynamicngw; DEALLOCATE PREPARE stmtiddynamicngw;
затем вставьте значения временной таблицы в другую временную таблицу
INSERT INTO tabFormIds (FormIdVal,FormIdTabName,renameFormIdTabName) SELECT FormIdVal,FormIdTabName,renameFormIdTabName FROM tabFormNgwIds;
Это делается по процедуре в mysql. когда я запускаю процедуру, появляется ошибка =gt; ОШИБКА 1243 (HY000): Неизвестный обработчик подготовленных инструкций (stmt), заданный для ВЫПОЛНЕНИЯ.
Комментарии:
1. Создайте онлайн-игру с проблемой или опубликуйте образцы данных (СОЗДАЙТЕ ТАБЛИЦУ ВСТАВЬТЕ В нее), достаточные для воспроизведения вашей проблемы. Конечно, предоставьте полный текст процедуры, а не ее часть.