2016-06-17 2 views
0

MySQL에서 테이블 이름을 만들고 싶지만 선언 한 문자열 값을 사용하고 싶습니다. 이것이 가능한가? 나는 다음과 같은 것을 생각하고있다 :MySQL은 문자열에서 테이블 이름을 만듭니다.

DECLARE new_table_name VARCHAR(255); 
SET new_table_name = CONCAT("foo",123); 
CREATE TABLE new_table_name (
    ...etc... 
) 

지금까지 나는 이것을 어떻게하는지 알 수 없다. Btw 나는 이것을 저장 프로 시저에 넣었다.

답변

3

저장 프로 시저에 다음 코드를 사용하여

BEGIN 

DECLARE new_table_name VARCHAR(255); 
SET new_table_name = CONCAT("foo",123); 

SET @createTable = CONCAT("CREATE TABLE ", new_table_name, "(id int, some_col varchar(55))"); 

PREPARE createStmt FROM @createTable; 
EXECUTE createStmt; 
DEALLOCATE PREPARE createStmt; 

END$$