> 데이터 베이스 > MySQL 튜토리얼 > preparedStatement INSERT 쿼리에서 테이블 이름 변수를 어떻게 사용할 수 있습니까?

preparedStatement INSERT 쿼리에서 테이블 이름 변수를 어떻게 사용할 수 있습니까?

Linda Hamilton
풀어 주다: 2025-01-13 09:06:43
원래의
858명이 탐색했습니다.

How Can I Use a Table Name Variable in a PreparedStatement INSERT Query?

Prepared 문 INSERT에서 테이블 이름 변수 사용

Java ReadyStatement 객체를 사용하여 일련의 일괄 INSERT 쿼리를 작성할 때 많은 개발자는 테이블 이름 변수를 쿼리에 추가해야 하는 문제에 직면합니다. 이는 동일한 열 형식을 사용하는 여러 테이블로 작업할 때 종종 바람직합니다.

쿼리 문에서 테이블 이름을 "?" 변수에 하드코딩하려고 하면 오류가 발생할 수 있습니다. 대신 테이블 이름을 변수로 유지하고 일괄 쿼리를 실행하기 전에 동적으로 채워야 합니다.

일부 사람들은 stmt.setString(1, "tableName1")을 사용하여 테이블 이름을 동적으로 설정하려고 시도할 수 있지만 이는 ReadyStatement에서는 불가능합니다. 대신, 쿼리 및 테이블 이름을 preparedStatement에 할당하기 전에 함께 연결하거나 형식을 지정해야 합니다.

해결책:

문자열 연결 또는 String.format 메서드를 사용하여 SQL 쿼리를 동적으로 구성할 수 있습니다. 테이블 이름은 ReadyStatement의 변수가 아니라 정적 쿼리 문자열의 일부입니다.

예:

<code class="language-java">String tableName = "tableName1";
// 将表名连接到查询中
String query = String.format("INSERT INTO %s (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);", tableName);
PreparedStatement stmt = connection.prepareStatement(query);</code>
로그인 후 복사

PreparedStatement에 쿼리 문자열을 할당하기 전에 쿼리 문자열을 동적으로 구성하면 각 삽입 문이 적절한 테이블로 연결되도록 할 수 있습니다.

위 내용은 preparedStatement INSERT 쿼리에서 테이블 이름 변수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿