목록웹개발/Database (54)
써먹는 웹개발
Decode를 쓰다가 우괄호 에러나는 경우가 있었는데 나의 경우는 원인이 Order by였다. 예시 select Decode(1,1,true, ( select .... from table order by Column Name ) ) from table 여기서 order by를 빼고 나니까 해결되었다. ※ 에러가 난 원리를 아시는분 댓글 부탁드립니다.
SQL 인젝션이란? - 데이터베이스와 연동된 웹 애플리케이션에서 공격자가 입력이 가능한 폼에 조작된 질의문을 삽입하여 웹 서비스의 데이터베이스 정보를 열람 또는 조작할 수 있는 취약점을 말한다. 공격방법 SELECT user FROM user_table WHERE id='admin' AND password=' ' OR '1' = '1'; 방어방법 : Query String이 아닌 Parameter Binding을 사용하면 된다. String prepareStatementQuery = "SELECT user FROM user_table WHERE id=? AND password=?"; PreparedStatement preparedStatement = connection.prepareStatement(pr..
spring에서 JUnit Test 실행시 console에 출력된 에러 해결방법입니다. 1. Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'. 해결방법 1) mysql -u root -p 2) password 입력 3) use mysql; 4) alter user '계정입력'@'localhost' identified with mysql_native_password by '비밀번호입력'; 5) flush privileges; ※ 나의 경우 이것과 상관없이 연결시 생성한 id로 테스트하였고 테스트 id를 root로 변..
테이블 생성시 'ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes' 문구가 떴을 때 해결방법입니다. 원인 : index를 만들때 varchar(255)로 잡아서 발생하는 문제 문제의 create query CREATE TABLE `test` ( `srl` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'PK', `test` varchar(255) NOT NULL COMMENT 'test', `code` varchar(255) NOT NULL COMMENT `code`, PRIMARY KEY (`srl`), UNIQUE KEY `test_unique` (`test`), KEY `..
다음 오류시 제 상황과 해결한 방법입니다. [Oracle] SQL 오류 : ORA-01747 : 열명을 올바르게 지정해 주십시오. 01747. 00000 - "invalid user.table.column, table.column, or column specification" 상황 where 절에서 'A.ROWNUM
[Oracle] 'ORA-01790 : 대응하는 식과 같은 데이터 유형이어야 합니다' 일때 제 상황에서 해결한 방법입니다. 1. CLOB Size가 4000 Bytes 이하인 경우, TO_CHAR 또는 TO_CLOB 모두 가능 - TO_CHAR(필드명) AS 필드명 또는 TO_CLOB(필드명) AS 필드명 2. CLOB Size가 4000 Bytes 초과인 경우, TO_CLOB 로 변환 - TO_CLOB(필드명) AS 필드명 출처 : http://www.gurubee.net/article/66006
● 최소 값과 최대 값도 범위에 포함됨 ● 구문: range_expression BETWEEN min_value AND max_value range_expression에는 주로 열 또는 변수 이름이 옴 ● BETWEEN 연산자를 사용하는 것이 더 효율적 range_expression >= min_value AND range_expression
쿼리를 하다 보면 종종 사용하게 되는 함수 입니다.예를 들면 12시간 전까지의 데이터를 뽑고 싶을 때나 1개월 전의 데이터를 뽑고 싶을 때 사용하면 됩니다. # 12시간 전 시간 조회SELECT SUBDATE(NOW(), INTERVAL 12 HOUR); # 1개월 전 데이터 조회SELECT *FROM `테이블`WHERE `시간` > SUBDATE(NOW(), INTERVAL 1 MONTH); 출처 : http://webinformation.tistory.com/54