본문 바로가기

MYSQL10

MySQL 그룹 함수 GROUP_CONCAT GROUP_CONCAT은 GROUPING된 레코드들을 원하는 구분자를 이용하여 문자열로 만들 수 있습니다. 아래 예제에서 사용된 데이터베이스 IDE는 CHEQUER에서 개발한 QueryPie 제품입니다. 예제 테이블 생성 스크립트 # 테이블 생성 CREATE TABLE TEST_TABLE ( NO INTEGER, ADDRESS VARCHAR(20) ); # 데이터 삽입 INSERT INTO TEST_TABLE values (1, '경기도'); INSERT INTO TEST_TABLE values (1, '성남시'); INSERT INTO TEST_TABLE values (1, '대왕판교로'); INSERT INTO TEST_TABLE values (2, '서울특별시'); INSERT INTO TEST_T.. 2020. 2. 5.
JDBC 드라이버에서 MySQL 데이터베이스 문자 인코딩 설정 JDBC 드라이버를 이용해서 MySQL 데이터베이스에 연결할 때, 프로퍼티에 따로 값을 설정하지 않으면 문자 인코딩(characterEncoding) 값은 자동으로 감지합니다. 연결 프로퍼티에 문자 인코딩 설정 Properties properties = new Properties(); properties.put("user", "USER_NAME"); properties.put("password", "PASSWORD"); properties.put("characterEncoding", "UTF-8"); Connection connection = DriverManager.getConnection("JDBC_URL", properties); MySQL to Java Encoding Name Translatio.. 2019. 6. 23.
MySQL "Cannot get geometry object from data you send to the GEOMETRY field" 에러 해결방법 임시 테이블 생성 id, geometry 두 개의 컬럼을 구성된 테이블을 생성한다. CREATE TABLE `geo_test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `geo` geometry DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; 테이블에 geometry 타입 데이터 추가 (에러 발생) 아래 SQL 구문을 실행하면 "Cannot get geometry object from data you send to the GEOMETRY field" 에러가 발생한다. geometry 필드에 텍스트 값을 넣으려고 했기 때문에 발생한 에러이다. INSER.. 2019. 5. 13.
JDBC를 사용한 MySQL SSL 연결 JDBC 드라이버를 이용해서 MySQL 데이터베이스에 SSL 연결하는 방법에 대한 글입니다. QueryPie Engine 개발 중 SSL 기능을 개발하면서 배운 내용을 정리한 글입니다. SSL 연결이 왜 필요한지와 SSL 연결은 어떻게 구현해야 하는지에 다루고 있습니다. https://medium.com/querypie/jdbc%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-mysql-ssl-%EC%97%B0%EA%B2%B0-1c5da86cc2c5 JDBC를 사용한 MySQL SSL 연결 QueryPie 개발기 #9: 데이터베이스에 안전하게 접속하기 medium.com https://medium.com/querypie/mysql-ssl-connection-using-jdbc-bee3b.. 2019. 5. 6.
MySQL "Every derived table must have its own alias" 에러 처리 MySQL 데이터베이스에서 서브 쿼리를 사용한 경우에 "Every derived table must have its own alias" 에러가 발생하는 케이스입니다. 에러가 발생한 이유는 서브쿼리에 alias(이름)이 지정되지 않았기 때문입니다. 에러를 수정하는 방법은 서브쿼리에 alias(이름)을 지정하면 됩니다. Oracle 데이터베이스 경우에는 서브쿼리에 alias(이름)을 지정하지 않더라도 잘 수행되지만, MySQL 데이터베이스에서는 에러가 발생하므로 유의해야 합니다. 2019. 4. 23.
MySQL ERROR 1217 (23000) Cannot delete or update a parent row: a foreign key constraint fails MySQL 데이터베이스에서 특정 테이블을 삭제할 때, "Cannot delete or update a parent row: a foreign key constraint fails" 에러 메시지가 표시 되었다는 것은 삭제하려는 테이블에 외래키가 설정되어 있다는 것이다. 아래처럼 FOREIGN_KEY_CHECKS 값을 0으로 변경한 뒤, 테이블 삭제(DROP 또는 TRUNCATE) 명령어를 실행하면 된다. 작업을 모두 수행하고 나면, FOREIGN_KEY_CHECKS 값을 다시 1로 변경한다. SET FOREIGN_KEY_CHECKS = 0; DROP TABLE_NAME; SET FOREIGN_KEY_CHECKS = 1; 2019. 4. 22.