mariaDB 3

[DB] mariadb/mysql NOT NULL ERROR 1364 :: 송코딩

데이터베이스의 제약 조건 중 NOT NULL 이란, Null을 삽입할 수 없다는 뜻이지 공백이 안된다는 뜻이 아닙니다. (ex. 공백 삽입 시도 --> VARCHAR는 공백 그대로 삽입, Date는 0000-00-00으로 대체 삽입, INT는 0으로 대체 삽입) 그러나 MariaDB 10.2.4 버전 부터는 NOT NULL 컬럼에 공백으로 삽입하려 하면 다음과 같은 에러가 발생 합니다. ERROR 1364 : Field '컬럼명' doesn't have a default value. 그 이유는 sql_mode를 확인해보면 (MariaDB 10.2.4 버전 부터) SELECT @@sql_mode; 기본 값으로 다음 모드가 설정되어 있기 때문입니다. 기본 네 가지 모드 중 다음 모드가 오류 ERROR 136..

Programming 2022.11.20

맥 도커 Mariadb 한글 깨짐 0.1초만에 해결 :: 송코딩

터미널에서 도커 Mariadb를 실행 할 때 ( 기존 : docker exec -it mariadb /bin/bash ) 로케일*을 UTF-8로 설정하여 접속하면 됩니다. ( 변경 : docker exec -e LC_ALL=C.UTF-8 -it mariadb /bin/bash ) 단, 접속할 때마다 해당 쿼리를 사용해야 하는 건 안 비밀.. 만약 기존 쿼리로 접속하고 싶으면 my.cnf 파일 내용 변경해줘야합니다ㅋ.ㅋ 저는 귀찮아서 그냥 쿼리를 바꿔서 씁니다. cf. 로케일(Locale)이란 사용자의 언어, 국가뿐 아니라 사용자 인터페이스에서 사용자가 선호하는 출력 형식 등을 지정한 매개 변수의 모임

Programming 2022.11.20

[DB] MariaDB 주요 쿼리 :: 송코딩

‼️MariaDB는 대/소문자를 구분합니다. (ex. 테이블명을 MEMBER로 생성하면 member로 접근 시 없는 테이블이라 ERROR 출력) 데이터베이스 생성 CREATE DATABASE 데이터베이스명; 사용할 데이터베이스 선택 USE 데이터베이스명; 데이터베이스 내에 테이블 조회 SHOW TABLES; 테이블 삭제 DROP TABLE 테이블명; 테이블 생성 CREATE TABLE 테이블명 ( 컬럼명 자료형 제약조건, ... 컬럼명 자료형 제약조건) ); 예시 CREATE TABLE member ( id INT PRIMARY KEY, name VARCHAR(30) ); 테이블 데이터 삽입 INSERT INTO 테이블명 VALUES ( 첫번째 컬럼 데이터, 두번째 컬럼 데이터 ); 예시 INSERT I..

Programming 2022.09.10