- 此问题在此处已有答案**:
MySQL Stored Procedure Variable as Table Name concatenated(2个答案)
昨天关门了。
这个程序我做错了什么?
# Copy tabel
CREATE PROCEDURE `table_backup`(tablename varchar(50))
begin
set @copy_from = tablename;
set @copy_to = CONCAT(tablename, `_`, DATE_FORMAT(NOW(), '%d_%m_%yt%H_%i_%s'));
CREATE TABLE @copy_to LIKE @copy_from;
INSERT @copy_to SELECT * FROM @copy_from;
end
CALL table_backup('table_name');
1条答案
按热度按时间eufgjt7s1#
您将需要动态执行查询。这是您在存储过程中可以实现的方法:
您需要将
create table
和insert into
作为动态查询执行。根据您的设置,您可能需要使用相同的模式将它们作为单独的动态查询执行。请访问https://www.tutorialspoint.com/implement-dynamic-sql-query-inside-a-mysql-stored-procedure了解更多信息