2017-02-03 2 views
0

를 사용하여 MySQL 데이터베이스에 배열 값을 삽입하는 방법 :내가 MySQL 데이터베이스의 하나 개의 필드에 이러한 값을 삽입하려면 무엇 자바

String[] content = {"a1", "a2", "a3", "a4"}; 
aArray 
...?//how can i write the code here..help me 


String query = "insert into CHAR_ARRAY_TABLE(id, cont) values(?,?)"; 

preparedStatement = connection.prepareStatement(query); 

preparedStatement.setInt(1, row_id_name); 
preparedStatement.setArray(2, aArray); 
int count = preparedStatement.executeUpdate(); 
System.out.println(count + " inserted"); 
+0

Array 요소의 값을 단일 문자열로 'con'열에 삽입 하시겠습니까? – VPK

답변

0

테이블은 다음과 같아야합니다 : 자바

CREATE TABLE CHAR_ARRAY_TABLE (int id, cont varchar ARRAY[4]); 

INSERT INTO CHAR_ARRAY_TABLE (id, cont) 
    VALUES (1, ARRAY['aa','bb','cc','dd']); 

그래서 당신은 이것을 다음과 같이 일부 값을 얻기 위해 값으로 preparedstatement 값으로 설정해야합니다 :

preparedStatement.setInt(1, row_id_name); 
preparedStatement.setString(2, "a1"); 
preparedStatement.setString(3, "a2"); 
preparedStatement.setString(4, "a3"); 
preparedStatement.setString(5, "a4"); 

이렇게하면 다음과 같은 루프를 사용할 수 있습니다 :

String[] content = {"a1", "a2", "a3", "a4"}; 

String query = "INSERT INTO CHAR_ARRAY_TABLE (id, cont) VALUES (?, ARRAY[?, ?, ?, ?])"; 

preparedStatement = connection.prepareStatement(query); 

preparedStatement.setInt(1, row_id_name); 

for (int i = 0; i < content.length; i++) { 
    preparedStatement.setString(i+2, content[i]); 
} 

int count = preparedStatement.executeUpdate(); 

희망이 당신을 도울 수 있기를 바랍니다.