Before start of result set 에러
이 에러가 발생했던 건
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
market_name =rs.getString(1);
위처럼 써서 에러가 떴다.
잘 보시면 rs.next();가 없다.
에러가 발생한 이유는 결국에 rs.next(); 가 없어서였다!
따라서,
if(rs.next()){ market_name =rs.getString(1); }
라던가
while(rs.next()){
.
.
.
.
}
라던가 ! 작성하시고~ 쓰자
'web > 오류정리' 카테고리의 다른 글
Subquery returns more than 1 row 조인 시 서브 쿼리 오류 (0) | 2017.12.11 |
---|---|
column 'fial_cnt' not found (0) | 2017.12.08 |
[이클립스]illegal operation on empty result set mysql 해결방법 (0) | 2017.11.20 |
input disabled css ie8 (0) | 2017.06.01 |
인스타그램 샌드박스 모드 -웹사이트 연동 (0) | 2017.05.29 |
[이클립스]illegal operation on empty result set mysql 해결방법
오늘 만났던 에러는 바로
illegal operation on empty result set mysql
상황은 이러했다.
포문을 돌면서, 조회했던 정보를 예쁘게 잘 INSERT 구문을 만들어서
SQL문을 실행해주려고 했던 것이었음.
sql = "select dispNo, dispNm, parentDispNo from tbl_mst_api_category_temp where market_code='1111' and dispNo ='"+forwardDispNo+"' "; //1건 조회stmt=conn.prepareStatement(sql);
rs1=stmt.executeQuery();
이렇게 결과값을 rs1에 담고,
rs1.next();
를 위처럼 찍은 다음...
sql = "insert tbl2 values (rs1.getString('aaa'),rs1.getString('bbb'),rs1.getInt('ccc'))";
위처럼.. sql문을 작성한 다음 실행 했더니 만났던 에러였다.
illegal operation on empty result set mysql
요놈 참 깨름찍한 용어다.
즉 mysql에서 빈결과( empty result set ) 를 돌려받는 것에 대한 불법적인 작용 정도로 인식하면 될것이다. .. . . ..
'web > 오류정리' 카테고리의 다른 글
column 'fial_cnt' not found (0) | 2017.12.08 |
---|---|
Before start of result set 에러 (0) | 2017.11.28 |
input disabled css ie8 (0) | 2017.06.01 |
인스타그램 샌드박스 모드 -웹사이트 연동 (0) | 2017.05.29 |
Uncaught RangeError: Maximum call stack size exceeded (0) | 2017.04.04 |
mysql 데이터 insert
mysql data insert
데이터를 넣어줄때에는
insert into testTbl (컬럼명a, 컬럼명b, 컬럼명c, 컬럼명d) values (컬럼의 값a, 컬럼의 값b, 컬럼의 값c, 컬럼의 값d );
위처럼 입력하면 됩니다.
컬럼명은 생략이 가능합니다.
즉
insert into testTbl values (컬럼의 값a, 컬럼의 값b, 컬럼의 값c, 컬럼의 값d );
위처럼 쓸 수 있다는 의미입니다. 한가지 주의하자면, 위처럼 생략해서 사용할 경우에는 값들의 순서 및 개수가 테이블에 정의된 열순서 및 개수와 동일해야 합니다.
따라서 어떤 값을 넣고 싶지 않다면
insert into testTbl (컬럼명a, 컬럼명b,컬럼명d) values (컬럼의 값a, 컬럼의 값b, 컬럼의 값d );
위 처럼 넣어주시면 됩니다. 첫번째 쿼리에 있었던 컬럼명c가 사라진 상태입니다. 두둥
자동으로 증가하는 AUTO_INCREMENT는 어째야하지??
테이블의 속성에 AUTO_INCREMENTㅓ가 지정되어 있다면, insert에서는 해당 열이 없다고 생각하고 입력하면 됩니다.
AUTO_INCREMENT는 자동으로 1부터 증가는 값을 입력해줍니다. AUTO_INCREMENT는 프라이머리키이거나 유니크로 지정해줘야하고, 데이터 형식은 꼭 숫자형식이어야 합니다.
AUTO_INCREMENT로 지정된 열은 insert문에서 null값으로 지정하면 자동으로 값이 입력됩니다.
CREAT TABLE testTbl2
( id int AUTO_INCREMENT PRIMARY KEY,
userName char(3),
age int );
insert into testTbl2 values (NULL, 'kay', '25');
insert into testTbl2 values (NULL, 'thia', '24');
'web > mysql' 카테고리의 다른 글
mysql 문자열 개수 구하는 방법 (0) | 2017.12.06 |
---|---|
insert table a select table b 대량 인썰트할때 (0) | 2017.11.29 |
mysql group by 그에 대한 조건문을 쓸땐 where 이 아닌 having (0) | 2017.11.19 |
mysql 별칭 잘 쓰면 참 좋은 alias (0) | 2017.11.19 |
mysql 주석 -- /**/ (0) | 2017.11.18 |