본문 바로가기
MySql

MySQL SQL 문의 동적 테이블 이름

by 베이스 공부 2020. 11. 26.
반응형

이와 같은 mysql 쿼리를 실행하려고합니다.

SET @id := '47';
SET @table := @id+'_2013_2014_voucher';
SELECT * FROM @table;
Delete FROM @table where id=@id

다음과 같은 오류가 표시됩니다.

[Err] 1064-SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 1 행의 '@table'근처에서 사용할 올바른 구문을 확인하세요.

어떻게 할 수 있습니까?

 

해결 방법

 


SET @id := '47';
SET @table := concat(@id,'_2013_2014_voucher');
set @qry1:= concat('select * from ',@table);
prepare stmt from @qry1 ;
execute stmt ;

삭제 쿼리에 대해서도 할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/27542617

 

 

반응형

댓글