Проработав методом проб и ошибок в течение последних нескольких часов, я обнаружил ошибки, и код теперь работает:
BEGIN
SET @sql = CONCAT('CREATE TABLE IF NOT EXISTS ',`@variable_table`,' LIKE table_template;');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = CONCAT('INSERT INTO ',`@variable_table`,' (`col1`,`col2`,`col3`,`col4`,`col5`)
VALUES ("',`@D1`,'","',`@D2`,'","',`@D3`,'","',`@D4`,'","',`@D5`,'");');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
Мне кажется, что моя синтаксическая ошибка была в '', ` `," "область кода. Как вы можете видеть, единственное изменение, которое я сделал, это поместил переменные @D1
вне текста и добавил их внутри текста по обе стороны от переменных.