[SQL] 어떻게 자바 준비된 문장 삽입에 대한 테이블 이름 변수를 사용하여 [중복]
SQL어떻게 자바 준비된 문장 삽입에 대한 테이블 이름 변수를 사용하여 [중복]
나는 일괄 INSERT 쿼리의 시리즈를 구성하기 위해 자바 PreparedStatement 오브젝트를 사용하고 있습니다. 쿼리 문은 형식입니다 ...
String strQuery = "INSERT INTO ? (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";
... 두 필드 값과 변수 TABLENAME가되도록 (즉. I 각 인서트 다른 하나로 지향 될 동일한 열 형식으로 여러 개의 테이블을 가지고). 내가 제거하면 나는 일에이 실행을 얻을 수있는 "?" 요구 사항이 직전 사용하여 배치 쿼리를 실행에 내가 채울 변수 남아 있도록 TABLENAME 변수와 하드 코드 있지만, 각 준비된 명령문은 다른 테이블에 삽입됩니다 ...
stmt.setString(1, "tableName1");
어떻게이 동적 변수하시기 바랍니다하자 수 있습니까?
해결법
-
==============================
1.당신은 할 수 없습니다. 당신은 및 String.format와 문자열 연결 / 자리로 SQL을 구성해야합니다. 준비된 명령문이없는 테이블 이름에 대한 열 값입니다.
당신은 할 수 없습니다. 당신은 및 String.format와 문자열 연결 / 자리로 SQL을 구성해야합니다. 준비된 명령문이없는 테이블 이름에 대한 열 값입니다.
-
==============================
2.당신은 테이블 이름 대신 자리 표시자를 사용하여 다음 TABLENAME와 그 교체 할 수 있습니다.
당신은 테이블 이름 대신 자리 표시자를 사용하여 다음 TABLENAME와 그 교체 할 수 있습니다.
String strQuery = "INSERT INTO $tableName (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";
u는 TABLENAME을 알게 때 교체
String query =strQuery.replace("$tableName",tableName); stmt =conn.prepareStatement(query);
-
==============================
3.하나 개의 대안은 및 String.format 수 :
하나 개의 대안은 및 String.format 수 :
EG
String sql = String.format("INSERT INTO $1%s (col1, col2, col3, (etc)", myTablename);
-
==============================
4.테이블 이름은 매개 변수로 사용할 수 없습니다. 그것은 하드 코딩해야합니다. 같은 것을보십시오 :
테이블 이름은 매개 변수로 사용할 수 없습니다. 그것은 하드 코딩해야합니다. 같은 것을보십시오 :
String tableName = "tableName1"; String strQuery = "INSERT INTO " + tableName + " (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";
-
==============================
5.원래 문자열에 추가해야합니다 :
원래 문자열에 추가해야합니다 :
String tableName = "some_table_name"; // some other code String strQuery = "INSERT INTO " + tableName + " (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";
당신이 strQuery에서 세미콜론가 필요하십니까? (당신이 할 수 있습니다, 그것은 단지 :-) 나에게 조금 이상한 모양)
from https://stackoverflow.com/questions/11312155/how-to-use-a-tablename-variable-for-a-java-prepared-statement-insert by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] ON 절에서 MySQL을 알 수없는 열 (0) | 2020.03.20 |
---|---|
[SQL] SQL 서버에서 날짜로 변환 VARCHAR (0) | 2020.03.20 |
[SQL] 열을 동적으로 변환 행에 MySQL의 쿼리 (0) | 2020.03.20 |
[SQL] 특정 조건에서 방지 INSERT에 MySQL의 트리거 (0) | 2020.03.20 |
[SQL] 결과를 검색 할 때 어떻게 모호한 열 이름을 해결하기 위해? (0) | 2020.03.20 |