728x90

mysql 11

Field ‘...’ doesn’t have a default value 오류 해결 방안

어느날 잘되던 API를 체크해보았는데 빌드는 되었지만 런타임 500 오류가 발생하였다. 오류 메시지를 보니 Field '…' doesn't have a default value 라는 메시지를 찾을 수 있었다. 소스코드를 점검해보니 이상이 없었고, 검색해보니 열(컬럼)에 기본값이 따로 지정되지 않았는데 그 열의 값을 뚜렷하게 지정하지 않는 채로 INSERT나 UPDATE 등으로 자료를 넣으면 오류가 발생할 수 있다고 한다. 위 경우는 해당 테이블의 PK에 auto increment 속성이 해제되어 있었고 이를 추가하여 해결할 수 있었다. -- auto increment alter table aaa modify bbb bigint auto_increment; PK에 자동증가 설정 추가 후, API 가 정상동..

Database 2023.08.31

'mysql80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다.' 오류 해결

일단, Mysql --initialize-insecure 을 쓰고 Net Start Mysql 을 입력해보자 하지만 해결이 안될 경우, 컴퓨터를 '강제 종료'하면 이런 일이 일어난다는 공통점을 찾게 되었다. 그래서 1. [작업 관리자] 에서 Mysqld 데몬 프로세스를 중단시키고, 2. [서비스]에서 Mysql 우클릭 - [속성] 에서 시작 버튼을 눌러주면 정상적으로 실행되는 것을 볼 수 있다. 결론 : 실행 중인 프로세스가 제대로 닫히지 않아서 Mysql이 시작되지 않는 경우가 있다. 출처 : https://kumsil1006.tistory.com/11 [MySQL] 'mysql80 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. ' Mysql을 사용해서 개발을 하다가 이런 오류를 만나면 진짜 진짜..

카테고리 없음 2023.01.14

ms-sql 요일 정보 , 요일 한글 함수

DATENAME,DATEPART 날짜 관련 함수 요일정보를 확인하는 방법에 대해 알아 보겠습니다. 요일정보를 확인하는 함수는 DATENAME,DATEPART로 MSSQL내장되어있는 함수로 사용가능하며 요일값을 변환(일,월,화,수...토)해서 받고 싶을경우는 사용자 함수를 만들어서 사용하면됩니다. 1. DATENAME, DATEPART함수사용 DATENAME함수를 사용해서 날짜필드의 요일값을 확인할 수 있습니다. DATENAME(weekday, 날짜필드)문으로 실행해보면 아래와 같이 일요일,월요일...토요일 한글로 나타나는 부분을 확인 할 수 있습니다. MSSQL이 한글버전이여서 아래와 같이 나오며 영문버전은 Sunday와 영문으로 결과값을 반환합니다. MSDN자료를 살펴보면 DATENAME(datepar..

MS-SQL 2023.01.02

(MySql) workbench에서 쿼리 출력 후, 한글 안깨지고 엑셀(xlsx) 파일로 추출

1. mySql workbench를 실행한다. 2. 원하는 쿼리를 쿼리 칸에 붙여넣는다. 3. 그리고 좌측 상단에 번개모양 버튼을 눌러 쿼리를 실행한다. 4. 쿼리 결과가 나오면 Export 버튼을 클릭해서 csv 파일로 저장한다. 5. 저장한 파일을 우측 클릭해서 [연결 프로그램] → [메모장]으로 켜준다. 6. [파일]->[다른이름으로 저장]을 클릭한다. 이 창에서 [파일 형식]을 txt에서 모든 파일로 변경해주고 [파일 이름] 뒤에 .csv를 붙여준다. 그리고 인코딩이 UTF-8로 되어있는데 ANSI로 변경해준다.(안그러면 한글이 깨짐) 7. excel이 되는 컴퓨터에서 파일을 연다. 8. [파일]->[다른 이름으로 저장]을 누르고, [파일 형식]을 CSV에서 Excel 통합 문서로 변경해준다. 9..

CS지식 2022.09.01

INNER JOIN, LEFT JOIN, RIGHT JOIN의 차이

예제 테이블 mysql> select * from demo_people; name phone pid Mr brown 01225 708225 1 Miss Smith 01225 899360 2 Mr Pullen 01380 724040 3 mysql> select * from demo_property; pid spid selling 1 1 Old House Fram 3 2 The Willows 3 3 Tali Trees 3 4 the Melksham Florist 4 5 Dun Roamin 1. 기본 JOIN (= INNER JOIN) - 기본적으로 JOIN은 교집합이다. select name, phone, selling from demo_people join demo_property on demo_peopl..

Database 2022.07.17

(MySQL) Unique Index로 컬럼에 중복값이 못들어오도록 하려면..

PK 컬럼말고 따로 고유 값을 받아야 하는 컬럼이 있을 때 -> 유니크 인덱스(Unique Index)로 유니크 컬럼을 만들면 된다. 찾아보니 방법은 두가지가 있다. 매 쿼리문에서 방지 - 'where not exists' (비추천) INSERT INTO BOARD_LIKE (BOARD_IDX, USER_IDX) VALUES (11, 13) WHERE NOT EXISTS (SELECT BOARD_LIKE_IDX FROM BOARD_LIKE WHERE BOARD_IDX = 11 AND USER_IDX = 13) 컬럼 속성 설정 (추천하는 방식) 중복되면 안되는 컬럼 조합을 UNIQUE INDEX로 설정한다. UNIQUE INDEX ALTER TABLE BOARD_LIKE ADD UNIQUE INDEX (U..

Database 2022.03.21

[MySql] Cannot delete or update a parent row: a foreign key constraint fails 에러 해결 방법

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails mysql에서 DB 테이블이나 Row를 삭제하려고 할때 위와 같은 메시지가 발생할 때가 있다. 말그대로 현재 삭제하려고 하는 테이블 또는 행이 다른 곳에서 참조하고 있기 때문에 발생하는 문제다. 이 문제를 해결하는 방법은 아래와 같다. 1. 해당 테이블 또는 행을 참조하는 데이터를 삭제후 삭제를 한다. 가장 안전한 방법이고 초기 DB 설계자의 의도된 대로 데이터의 관계를 유지할 수 있다는 장점이 있다. (이 때, 참조하고 있는 테이블들의 행을 전부 찾아서 삭제 후, 원하는 테이블의 행을 삭제할 수 있으므로 주의하여야 한다.) 2. 외래키 체크 설정..

Database 2022.03.18

(Workbench) SSH 터널링으로 DB서버 접속(pem키가 있을 때)

MySQL Workbench에서 SSH 터널링으로 DB 서버 접근 방법 먼저 pem키를 준비해야 한다.(putty에서 생성하거나 회사 인프라팀 등에서 받아야 함) MySQL Workbench 에서 접속 방식을 Standard TCP/IP over SSH 를 선택하고 진행한다(세번째). SSH 터널링 관련 정보 입력 SSH Hostname : 터널링할 SSH 터널 호스트 이름 SSH Username : 터널링할 유저 이름 SSH Password : 터널링할 유저 암호 서버 접속 주소와 유저명 등을 기재 하고 "SSH Key File" 항목에 표기된 개인키를 넣어준다. 접속할 DB 서버 관련 정보 입력 MySQL Hostname : 127.0.0.1 이나 localhost 를 입력 혹은 DB서버 IP MyS..

MySQL 2022.03.16

Communications link failure 에러(MySQL)

[08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 하단에 있는 Test Connection 을 눌러주는데 에러(Communications link failure)가 발생하였다. 상단에 있는 Driver가 MySQL로 되어있는데, 이걸 Amazon Auor..

Database 2022.03.15
728x90