MySQL의 변수 테이블 이름에서 데이터 선택
MySQL에서는 다음과 같은 테이블에서 데이터를 검색해야 하는 시나리오가 발생할 수 있습니다. 이름은 변수에 저장됩니다. 이름으로 테이블에 동적으로 액세스하면 오류가 발생할 수 있으므로 SQL만으로는 달성하기 어려울 수 있습니다.
문제:
다음 시나리오를 고려하십시오.
SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1); SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1); select * from @Cat where ID = @ID_1;
MySQL이 @Cat 변수를 유효한 테이블로 해석할 수 없기 때문에 이 쿼리를 실행하면 오류가 발생합니다. name.
해결책:
이 제한을 극복하려면 준비된 명령문을 사용할 수 있습니다.
SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1); PREPARE stmt1 FROM @s; EXECUTE stmt1; DEALLOCATE PREPARE stmt1;
분석:
이 접근 방식을 사용하면 SQL 쿼리를 동적으로 실행할 수 있습니다. 런타임 시 @Cat 및 @ID_1 변수에 저장된 값으로 결정됩니다.
위 내용은 MySQL에서 변수 이름이 있는 테이블에서 데이터를 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!