编辑 mysql 表名以与一列的值结合(连接)

EDIT mysql tablename to combine with value of one column (concatenate)

我有一个名为 'Details' 的 table,详细信息 table 有几列,其中一列是 'TicketNumber'

我希望做的是命名 table 'Details_TicketNumber' --- 不是实际的单词,而是 first/highest 票号的值。

例如,如果 TicketNumber 是“12345”

table 名称将是 Details_12345

我怎样才能做到这一点?我已经搜索了几个小时,但今天没有找到。谢谢

这是我尝试过的方法(并意识到它行不通)

尝试 1:

Rename table details 
to  (select concat("details",details.ticketnumber));

尝试 2:

set @sql = CONCAT(details,
                  details.TicketNumber)
                 );

prepare s from @sql;

execute s;

正如@JeffUK 和他指出的 reference 所建议的那样。我相信这应该在存储过程中工作。

DECLARE highest_ticket INT DEFAULT 0;

SELECT MAX(ticket_number) INTO highest_ticket 
FROM details;

set @s = CONCAT('RENAME TABLE details to details_',highest_ticket); 
prepare renameTable from @s;
EXECUTE renameTable ;
DEALLOCATE PREPARE renameTable ;