2013-12-12 2 views
0

내 응용 프로그램에서 동적 테이블 이름을 사용하고 싶습니다.하위 쿼리의 테이블 이름으로 SQL 결과의 값을 사용하는 방법은 무엇입니까?

내 응용 프로그램에는 두 가지 쿼리가 있습니다.

1) SELECT `table_name` FROM `data_tables` WHERE `table_id`="1" 

이 쿼리에서 테이블 이름을 얻었고이를 변수에 저장합니다. 예컨대을 위해 :

내가 알고 싶은
2) SELECT * FROM `'.$tab.'`; 

어쨌든 클럽에 이러한 쿼리가 : $ 탭

나는 다른 쿼리가? 좋은 습관입니까?

내 응용 프로그램은 현재 정상적으로 작동하지만 약간의 통찰력을 원합니다.

+0

당신은 ['PREPARE']의 조합을 사용하여 그것을 할 수 있습니다 (http://dev.mysql.com/doc/refman/5.1/en/prepare.html)와 ['CONCAT()'] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat). 하지만 그것은 MySQL의'eval()'과 같습니다. 그렇기 때문에 나는 그것을 좋은 연습이라고 부르지 않을 것입니다. – DaveRandom

답변

0
DECLARE @Name varchar(max) 
SELECT @Name =`table_name` FROM `data_tables` WHERE `table_id`="1" 
SELECT * FROM `@Name` 
관련 문제