2009-11-16 3 views
4

어떻게 든 NOW() 함수 또는 비슷한 MYSQL 이름 바꾸기 테이블() 사용할 수 있습니까?테이블 이름 바꾸기 'NOW() + old_table_name'

내가이 때문에 대신 날짜 - 테이블 - 찍은 - ouf-의 사용 _ 테이블 _ 그래서 우리는 actualy 그것을 우리를 삭제할 때 old_하는 바로 우리가 먼저 이름을 선호하는 기존 테이블을 삭제입니다 필요한 이유 테이블이

답변

7

당신은 동적 SQL 문을 작성하고 실행할 수 '를 사용할 수 없습니다'가 얼마나 오래 알고

SET @tablename = 'MyTable'; 

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

PREPARE STMT FROM @query; 
EXECUTE STMT; 

curdate() 기능은 형식 yyyy-MM-dd에 문자열로 현재 날짜를 반환합니다.

P. Query Browser에서 이와 같이 여러 줄의 명령문을 실행할 수는 없지만 파일에 넣을 수 있습니다 (예 : commandfile.sql).

mysql -u <user> -p<password> <dbname> < commandfile.sql