일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- design pattern
- AWS
- 쿠버네티스
- Spring
- 리액트
- springboot
- c#
- 스프링부트
- 리팩토링
- machine-learning
- 코틀린
- Spring Boot
- 도커
- docker
- 마이바티스
- mybatis
- react
- Python
- Java
- MySQL
- Kotlin
- VOA
- 자바
- DataGridView
- kubernetes
- Winform
- git
- 스프링
- 파이썬
- github
- Today
- Total
목록MySQL (7)
보뇨 다이어리
우선 코드위주로 설명 Spring boot + testcontainer + mysql 구성은 쉬운데 Oracle 이 쉽지않음..ㅠ
바로 쿼리부터 보자 select timestampdiff(hour, come, if(`leave` = null, now(), `leave`)) ,come, `leave` from commute ; 위와 같이 실행을 했다 근데 몇몇 데이터들이 null 로 나오길래 설계한대로라면 null 나오면 안되기때문 이상하다...싶어서 is 를 대신해서 넣으니깐 null 은 아예 나오지않는다 그래서 = (equal) 의 의미를 내가 잘못 이해하고 있는걸까 싶어서 찾아보게됨 솔직히 키워드를 써도 되지만 부정문으로 들어가는게 읽기 불편해서... 평서문이 최고이지아니않을수있을까 양쪽의 값이 같을경우(데이터타입 상관없이) 1 다를경우 0 null 이 하나라도 있을경우 null 출처 https://randa.tistory.co..
JPA 사용을 위해 회사에서는 테스트 디비가 있지만 그것을 사용하기 좀 그래서 집컴퓨터로 테스트하고싶어짐 그래서 h2 라는 초초초가벼운 디비를 mysql 환경에 맞게 사용하고싶어서 mysql 로 선택하고 실행했더니 com.mysql.jdbc.driver 를 뱉..... h2 자체가 자바로 만들어진거라 jar 파일을 그쪽으로 넣으면 되나? 싶어서 이것저것 시도했는데 안되더라군요...ㅠ 문서를 읽으니까 답이 나와있었다....역시 기승전문서 말인즉슨 디비로 로그인할때 기존 url 에 덫붙혀서 MODE=MySQL;DATABASE_TO_LOWER=TRUE 작성하면된다 //DATABASE_TO_LOWER 이거 붙히니까 h2 schema public not found sql statement 해당 에러가 남..그냥 ..
디비를 보다가 갑자기 궁금한게 생겼음tinyint 말그대로 작은 int 자료형이고 1 바이트를 차지한다는건 사전적으로 알고있음근데 괄호가 뭘뜻하는지 몰라서 찾아보니 너비를 뜻하는것이라고 나옴너비란 아래 사진과 같다 즉 좌우로 몇자리까지를 의미하는것이였당...예를들어 tinyint(1) 이면 0, 1 이렇게 2개만 쓸수있고tinyint(2) 일경우 00, 01, 10, 11 이렇게 쓸수있고 tinyint(3) 일경우에는..뭐 이런식이란걸 알수있을거임..데햇명심해야할점은 그렇다고 tinyint 자체크기가 변하지 않는다는점 뭘 어떻게 표시하던 1바이트이다 출처https://stackoverrun.com/ko/q/3450083
이게....정확히 어떤 에러가 떴는데 잘 기억이 안난다....히스토리에서도 삭제됨 ㅠㅠ 일단 간단하게 에러에 대해 정리하자면 평소와 같이 api 통신하는데 갑자기 어떤식의 방식으로는 어떤식의 방식으로 변환할수없습니다 라는 에러를 발견함해결할수있는 방법은 총 2가지DB 내에 스트링 타입 속성을 바꿔주는거랑 쿼리내에서 바꾼상태로 보내주는것근데 DB는 잘 모르고 괜히 만졌다가 큰일날수도있을꺼라 생각해서 쿼리내에서 바꾸기로함 아주아주 비법은 간단하다 그냥 string 타입에 덫붙혀주면 된다 아래와 같이 그럼 쓱오!정확히 19번 라인하고 28번라인이다.123456789101112131415161718192021222324252627282930313233CREATE DEFINER=`super`@`%` PROCEDU..
간단하게 시작하자면 각 서버에 설치된 mysql 에 접속할려고하니 아래와 같은 에러를 밷음 그래서 찾아보니 아래와 같이 해결하면 끝!즉 이렇게 mysql -u[mysql 아이디] -p[mysql 비밀번호]물론 위에서 괄호는 특징을 보여준것이니 타이핑할때는 빼야한다예시를 보자면 아래와 같이 해결하면 된다일부러 모자이크 처리했당
제목을 어떻게 써야할지 모르겠는데 일단 직설적으로 써봤다문제가 뭐였냐면 예를들어 mysql DB 에 sms 테이블이 있는데 이 해당테이블에 id 컬럼값은 연속된 값 옵션을 줘서 유니크값을 가지고 있었다. 그것을 통해 CRUD 를 사용하고 그랬는데.... 그러던 어느날!! 프로그램에서 에러를 뱉음이유를 찾아보니 id 값이 증복되어있었음... 이것에 대해 궁금증을 풀기위해 여러군데에 알아본결과 DB가 있는 서버나 DB 를 껏다가 다시 살릴경우 연속된 값을 주기로 되어있는 id 컬럼이 초기화되는것이다....;;서버가 계속 살아있어야하지만 항상 살아있어야한다고 보장할수도 없고 해결방법을 찾았는데 그것은 바로 대부분 DB 엔진이 InnoDB 일텐데 이것을 ---> myisam 으로 바꿔야한다는것이다. 근데 이건 ..