>  Q&A  >  본문

mysql 선택 위치 질문

선배님들께 질문이 있습니다. 테이블에 sfz 필드가 있습니다. 문자 유형의 길이는 18비트로 고정되어 있습니다. 저장 프로세스에서 이 필드를 vsfz에 할당합니다. . 또한 18비트의 고정 길이 문자 유형을 가지고 있습니다. 다음 쿼리문을 작성했습니다. select bj from kq201905 where sfz=vsfz;, 이는 올바르게 쿼리될 수 있습니다. 여러 테이블을 쿼리하고 싶기 때문에 변수 루프를 사용하여 테이블 이름을 할당해야 하므로 prepare 문을 사용하여 연결합니다.

set @vsk=concat('select bj from ',vkn,' where sfz=' ,vsfz,';' );

prepare stmt from @vsk;

execute stmt;

deallocate prepare stmt;

실행 후 쿼리 결과가 잘못된 것으로 확인되었습니다. 테이블 이름 변수와는 관련이 없는 것으로 테스트했는데, 이제 where 절에 문제가 있는 것으로 의심됩니다. 이유를 아시는 분은 알려주세요. 감사합니다!

享耳享耳1958일 전1266

모든 응답(0)나는 대답할 것이다

답장 없음
  • 취소회신하다