4

どういうわけか、MYSQLのrename table()でNOW()関数または同様のものを使用することは可能ですか?

これが必要な理由は、古いテーブルをすぐに削除するのではなく、最初に名前を変更してからold_ date-table-was-taken-ouf-of-use _ table_nameに変更することを好むため、実際に削除すると、テーブルの長さがわかります。 「利用できません」

4

1 に答える 1

7

動的 SQL ステートメントを作成して実行できます。

SET @tablename = 'MyTable';

SELECT @query := CONCAT('RENAME TABLE `', @tablename, '` TO `', 
    CURDATE(), @tablename, '`');

PREPARE STMT FROM @query;
EXECUTE STMT;

このcurdate()関数は、現在の日付を形式 の文字列として返しますyyyy-MM-dd

PSクエリブラウザからこのような複数行のステートメントを実行することはできませんが、それらをファイル(たとえば、と呼ばれるcommandfile.sql)に入れて、次のように実行できます。

mysql -u <user> -p<password> <dbname> < commandfile.sql
于 2009-11-16T09:33:10.713 に答える