반응형
연결된 sql 문 삽입
하나의 문 안에 여러 가지를 삽입해야 하는 스크립트가 있습니다. 예를 들어,
sql = "INSERT INTO `table` (something, something) VALUES (smth,smth); INSERT INTO `table` (something, something) VALUES (smth,smth)";
Statement stmt = connection_db.createStatement();
boolean update = stmt.execute(sql);
long sql은 조건에 따라 연결되며 이 길이여야 합니다.phpmyadmin에서 이러한 종류의 sql 문을 사용하는 것은 유효하고 문제 없이 삽입하지만 JAVA는 오류를 뱉습니다.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT INTO `
이런 종류의 SQL을 삽입하기 위해 제가 할 수 있는 일이 있나요, 아니면 같은 결과를 얻기 위해 제 코드를 여러 번 실행하도록 다시 만들어야 하나요?
간단한 방법은 배치 SQL 삽입을 사용하는 것입니다.
sql = "INSERT INTO `table` (something, something)
VALUES (smth,smth), (smth,smth)";
단일 쿼리로 더 많은 행을 삽입하기 위한 표준 SQL Weay입니다.
여러 값만 전달
아래 구문을 참조하십시오.
INSERT INTO tbl_name
(something, something)
VALUES
(1,2),
(4,5),
(7,8);
SQL을 분할하고 반복해야 합니다.
sql = "INSERT INTO `table` (something, something) VALUES (smth,smth); INSERT INTO `table` (something, something) VALUES (smth,smth)";
sqls = sql.split(";");
for(int i=0; i<sqls.length;sqls++) {
statement = connection.prepareStatement(sqls[i]);
statement.execute();
}
언급URL : https://stackoverflow.com/questions/51443555/concatenated-sql-statement-insert
반응형
'source' 카테고리의 다른 글
CLI에서 XDebug를 PHPUunit과 함께 실행하려면 어떻게 해야 합니까? (0) | 2023.09.01 |
---|---|
jQuery UI 자동 완성을 선택한 후 양식 필드 지우기 (0) | 2023.09.01 |
s3.upload()에 스트림 파이프 연결 (0) | 2023.09.01 |
PowerShell 원격 - 정책에서 사용자 자격 증명 위임을 허용하지 않습니다. (0) | 2023.09.01 |
CSS를 사용하여 입력에 텍스트가 있는지 탐지합니다. -- 내가 방문 중이고 제어하지 않는 페이지에서? (0) | 2023.09.01 |