다음 테이블이 있습니다.
자동차
자전거
mysql 데이터베이스에이 테이블의 중앙 인덱스 테이블과 고유 ID가 필요합니다. 이 같은:
항목
항목 테이블의 ID가 해당 테이블의 ID와 동일하다고 가정 해 보겠습니다.
항목
id | table_name
1 | cars
2 | cars
3 | bicycles
4 | cars
자동차
id | name | color
1 | Peugeot | red
2 | BMW | green
4 | Nissan | blue
자전거
id | name | number_of_gearshift
3 | Stevens | 24
내 질문-다음 상황 : 항목의 ID (예 : XXX)가 있습니다. 이제 하나의 쿼리로이 항목의 데이터를 가져오고 싶습니다. 다음과 같은 것 (내가 안다, 그것은 작동하지 않을 것이다) :
SELECT table2.*
FROM (SELECT table_name FROM items WHERE id = XXX) AS table2
가능합니까?
이를 위해 동적 SQL 쿼리를 사용할 수 있습니다.
set @query = null;
set @id = 3;/*change according to requirement*/
SET @tn := (select `table_name` from items where id = @id);
set @query = concat('select * from ',@tn,' where id = ',@id);
prepare stmt from @query;
execute stmt;
deallocate prepare stmt;
@id
요구 사항 에 따라 의 값을 변경하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다