마리아 db 백업시 아이디 has insuffient privileges to SHOW CREATE FUNCTION 이런 에러가 날때가 있다. 구글링 해봤지만 딱히 답변이... 추측컨데.. information_schema.schema_privileges 이 테이블에 권한이 정보가 insert가 안되서 그럴듯.. select * from information_schema.schema_privileges; 해봐서 데이터가 있는지 확인! 혹시 정확하게 알고 있는 분은 댓글 좀 달아주세요~~
구글링을 하면 마리아 DB 백업하려 관련글이 많이 나와 있다. 하지만 정확하게 나와 있는것이 별루 없다. 다들 대충 쓴듯.. 테스트도 안해보고.. 그래서 황당한일을 겪을 수도 있고 백업은 중요한데 백업이 안되는 경우가 생길 수 있다. 이상한것은 마리아 db 백업시 mysqldump를 쓰는데 쓰다가 오류가 나도 기존에 백업파일이 있으면 리눅스 시간이 현재로 바뀐다. 그래서 마치 백업이 된것처럼 보인다. 큰일난다.. 확인안해보고 대충하면.. 우선 데이터만 백업하려면 mysqldump -u아이디 -p패스워드 DB명 > /aa/backup/파일명.sql 사람들이 많이 실수하는게 "-u 아이디" 이런식으로 스페이스를 두는데 두면 안된다. 데이터만 쌓여 있는 경우 문제가 없지만 Procedure, Function,..
ORACLE(TIBERO) -> MARIA 쿼리 변경 TIP SQL 오류(1146): Table '' doesn't exist ORACLE 오라클은 테이블명 대소문자 가리지 않는다. MARIA 마리아는 테이블명 대소문자 가린다. 분명 테이블이 있는데 Table doesn't exist 이라고 나오면 테이블명 대소문자를 체크해봐야함. HeidiSQL 좌측 테이블 스키마에는 대문자로 전부 나오는데 쿼리 부분에서는 대소문자 가린다.. LIKE 검색시 ORACLE AND EMP_NAME LIKE '%'|| #{EMP_NAME} || '%' MARIA AND EMP_NAME LIKE CONCAT('%',#{EMP_NAME},'%') INSERT UPDATE ORACLE MERGE INTO AA A USING DU..
마리아 db 10.3 부터는 시퀀스가 있다고 들었는데 현재 10.1을 쓰고 있다. 시퀀스를 써야 하는데... 구글링 해봤는데 잘 안되고 삽질한 후 최종 되는 버전으로 올려보겠다. 먼저 채번 테이블 작성 create table A_SEQUENCE ( SEQ bigint(64) not null auto_increment primary key ) collate='utf8_general_ci' ENGINE=InnoDB ; 그 다음 시퀀스 함수 생성 delimiter // drop function if exists F_SEQ; create function F_SEQ() returns bigint begin declare x bigint; insert into A_SEQUENCE(seq) values(0); sel..
mybatis 문자열 비교를 하다가 삽질을 해서 재발을 막고자 정리해 본다. 내가 삽질한 케이스는.. 예제에는 'GUBUN' 이런식으로 비교 하는게 있어서 'A' 이런식으로 테스트를 했는데 이상하게 비교가 안되는 거였다. 아래글 처럼 문자열은 ' 게 먹히는데 문자는 '게 안먹힌다. 1. isEmpty(str) 문자열이 널 또는 빈 문자열인지 검사 방법 1. 비교문 중 &&는 and 또는 && 로 변환해서 사용 같다 라는 == 는 == 또는 eq로 변환해서 사용할 수 있음 방법 2. 자바로 함수를 만들어 Mybatis에서 호출하는 형식 (출처 첫번째 링크를 따라가면 자세히 알수 있다) - default package 일 때 and user_id = #{userId} - 패키지가 있을 때 2. isEquas..
오라클의 sysdate를 mysql에서 쓰려고 했는데.. 어떻게 쓰는지 모르겠다.. ㅜㅜ 대충 자료형을 date로 해서 될지 알았는데 년월일 만 나왔다.. 시분초도 나와야 하는데.. 그래서 이것저것 삽질해본 결과 $sql="create table sc_setting(id int(6),name varchar(500) not null,godo_srl varchar(100),url varchar(900),price varchar(100),last_updater varchar(100),last_update datetime)"; 이런식으로 자료형을 date가 아니고 datetime으로 해야 하고 $sql = "INSERT INTO sc_setting (id, name, godo_srl, url, price, la..
mysql 에서 테이블을 만들고 바로 업데이트를 하려고 했으나 업데이트가 되지를 않았다. CREATE TABLE IF NOT EXISTS coin_exchange ( exch int DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8; 이런식으로 테이블을 만들고 바로 UPDATE coin_exchange SET exch =22 이런식으로 업데이트 하려고 했으나 되지를 않았다.. 흠.. 테이블이 만들어 졌으니 바로 업데이트 해도 될거 같은데... 값을 insert 한번 하고 update를 하니 update가 되었다. 그래서 업데이트 하려면 테이블을 생성하고 무조건 값 한번은 넣어주는게 좋을거 같다. 또한 UPDATE coin_exchange SET exch =22 이 쿼..
mysql 혹은 maria db 에서 두개 테이블을 이용해서 업데이트 할 경우가 생겼다. 다소 복잡해보일 수 있는데 상식선에서 접근하면 된다. 몇가지 실제 돌아가는 예제를 소개 하니 보면 알것이다. -- weight 마켓테이블에 업데이트 update coin_market a, ( select market_name, weight from coin_weight ) b set a.weight=b.weight where a.market_title = b.market_name; -- 통계테이블에 마켓 count 업데이트 update coin_stat a, ( select num , count(*) cnt from coin_market group by num ) b set a.market_count=b.cnt wh..
- Total
- Today
- Yesterday
- Python
- C언어
- esql
- php
- XE
- JDBC
- KG
- MySQL
- 자바
- 포인터
- xe addon
- webix
- 자바 셀레니움
- C
- 오라클
- ocajp
- EC
- 파싱
- 파이썬
- proc
- ocpjp
- 인포믹스
- 문자열
- xe애드온
- 이클립스
- ocjap
- 자바 smtp
- XE3
- 프로씨
- 스크래핑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |