-1

这是我重命名表的代码。

SELECT  @MinDate := MIN(time) FROM trans;

SELECT  @MaxDate := MAX(time) FROM trans;

set @NewTableName := CONCAT(@MinDate, '-' , @MaxDate );

RENAME TABLE trans To @NewTableName;

在这我收到错误

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '@NewTableName 附近使用的正确语法

我不知道是什么错误。

4

2 回答 2

3

使用动态sql

set @q = concat("rename table trans to", @newtableName);
prepare stmt from @q;
execute stmt;
deallocate prepare stmt
于 2012-10-01T08:35:00.687 回答
0

rename 是一个原子操作,我不认为你可以在这里使用 sql 变量。

于 2012-10-01T08:28:21.650 回答