どういうわけか、MYSQLのrename table()でNOW()関数または同様のものを使用することは可能ですか?
これが必要な理由は、古いテーブルをすぐに削除するのではなく、最初に名前を変更してからold_ date-table-was-taken-ouf-of-use _ table_nameに変更することを好むため、実際に削除すると、テーブルの長さがわかります。 「利用できません」
動的 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