난 당신이 생각을MySQL 변수를 사용하여 테이블의 이름을 지정할 수 있습니까?
2012_10_15_ncvoter68
2012_11_15_ncvoter68
2012_12_15_ncvoter68
같은 다른 이름으로 테이블의 무리를 유지하기 위해 저를 필요로하는 워크 플로우를 가지고있다.
방금 테이블 2012_12_15_ncvoter68
을 만들었습니다.
변수를 사용하여이 테이블을 쿼리하고 싶습니다.
SET @dt_ncv = CONCAT((SELECT DATE_FORMAT(CURDATE(), '%Y_%m_%d')),"_ncvoter68");
변수 @dt_ncv
문자열 2012_12_15_ncvoter68
평가 : 예를 들면, 나는 변수를 정의 할 수 있습니다.
그러나이 변수를 사용하여 테이블을 참조하는 방법 (또는 가능한 경우)을 파악할 수 없습니다.
쿼리 :
SELECT count(*) FROM @dt_ncv;
단순히 SQL 구문 오류를 제공합니다.
나는 준비된 문장으로 놀려고했지만 그게 도움이되지 않았다.
여러분 중 일부는 MySQL 전문가가 도와 줄 수 있기를 바랍니다.
매월 다른 테이블을 사용하면 디자인이 좋지 않습니다. 왜 단 하나의 날짜 열이있는 테이블이 없습니까? –
semi dupe, 동일한 해결책 http://stackoverflow.com/questions/8363415/why-cant-i-use-a-variable-as-the-table-name-in-a-stored-procedure/8363487#8363487 – goat