본문 바로가기

반응형

Story/mysql

MySQL Incorrect datetime value: '0000-00-00 00:00:00' mysql 버전을 변경하면서 MySQL Incorrect datetime value: '0000-00-00 00:00:00' 처럼 문제가 발생했다. SHOW VARIABLES LIKE 'sql_mode' ; 또는 SELECT @@sql_mode ; 로 확인해보면 SQL_MODE = STRICT_TRANS_TABLES 와 같이 되어있었다. The default SQL mode in MySQL 5.7 includes these modes: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION. 이 외.. 더보기
Dumping MySQL Stored Procedures, Functions and Triggers Dumping MySQL Stored Procedures, Functions and Triggers MySQL 5 has introduced some new interesting features, like stored procedures and triggers. I will show in this small post how we can backup and restore these components using mysqldump. mysqldump will backup by default all the triggers but NOT the stored procedures/functions. There are 2 mysqldump parameters that control this behavior: —rou.. 더보기
MySQL 5.6에서 Invalid value error 이전에 mysql 사용하면서 insert 하거나 update 할때 값이 없으면 자동으로 기본값이 적용되거나 pass 되었는대 5.6 버전으로 올리면서 이런 부분들에서 error 가 발생하기 시작했다. MySQL 5.6.6 버전부터 sql_mode 가 있는대 값이 있을 경우 NOT NULL 로 지정된 필드는 값을 넘겨주지 않으면, int type 필드는 값이 없을때 '' 같이 빈 문자열을 넘기면 타입이 다르다고 error 가 발생한다. 모든값을을 정확하게 처리해주면 문제가 없긴 하지만 갑자기 모두 바꾸기 힘들땐 더보기
mysql 에서 LOAD DATA INFILE 로 데이타 입력시 ERROR 1148 (42000) : The used command is not allowed 에러날경우 MYSQL ERROR 1148 (42000) : The used command is not allowed In previous parts, of Series 2, data has been loaded into the database, from a text file, using the MYSQL statement: LOAD DATA INFILE './ttd_entries.txt' INTO TABLE test.ttd FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES; As it turns out using this statement is probably not the best way to load data into the database as.. 더보기
Example of MySQL SUBSTRING_INDEX() Example of MySQL SUBSTRING_INDEX() 특정 구분자로 문자열을 분리해 내야할때 필요하다. mysql> SELECT ip, SUBSTRING_INDEX(ip,'.',1) AS part1, SUBSTRING_INDEX(SUBSTRING_INDEX(ip,'.',2),'.',-1) AS part2, SUBSTRING_INDEX(SUBSTRING_INDEX(ip,'.',-2),'.',1) AS part3, SUBSTRING_INDEX(ip,'.',-1) AS part4 FROM log_file; +-----------------+-------+-------+-------+-------+ | ip | part1 | part2 | part3 | part4 | +-----------------+.. 더보기
mdb 내용을 mysql 로 바꾸는 프로그램 구글링을 하다가 아래 프로그램을 찾았다. 네이버 백신으로는 정상으로 나와서 설치해서 사용해 보았다. http://www.bullzip.com/products/a2m/info.php 더보기
한글먼저 영문 나중 으로 정렬하고자 할때 order by if(ascii(substring(`이름필드`, 1)) < 128, 9, 1) asc, `이름필드` asc 숫자,영문등의 ascii code 값을 뒤로 보내서 첫번째 정렬을 하고 두번째로 정상정렬을 한다. 데이타가 적을경우 적용하는게 좋다. 더보기
(펌) MySQL 5.5의 새로워진 것들 MySQL 5.5의 새로워진 것들 프로그램명 : MySQL 5.5.X 운영체제 : Linux, Unix, Windows 등 홈페이지 : www.mysql.com 라이센스 : 상업용, GPL 최근 MySQL 5.5 버젼이 정식 릴리즈 되었고, 지금 내가 조사하고 있는 버전은 5.5.14이다. mysql의 ab사가 sun사에 인수되고, 다시 sun사가 Oracle 사에 인수되었다. 그럼 이 mysql도 Oracle만큼 강해질까? 5.5 리뷰를 하면서 느낀 것은 기능이 막강해 지면서 무거워 졌다는 느낌을 받았고, mysql의 버전이 업되면서 하위 호환을 위해 남겨두었던 설정변수들을 많이 정리하는 듯했다. 특히 mysql 설치 방식을 cmake를 도입했고, 설치 후에는 기존과 다르게 라이브러리 디렉토리, my... 더보기
MySQL dump 받을때 조건 (where) 추가해서 받기 mysqldump -u아이디 -p비밀번호 -w " b_class = 10 or b_class = 11 " 디비명 테이블명 특정 테이블에서 where 절을 추가해서 조건에 맞는것만 백업받고 싶을때 위와 같이 사용한다. " 조건문 " 을 사용하면 된다. 더보기
mysql db 낮은 버전에서 높은버전으로 이전시 에러날때 해결방법 mysql 3. 대나 4.0 대의 경우 mysqldump 로 백업받아 높은 버전으로 이전할경우 에러가 나고 이전이 안될경우가 있다. mysqldump --no-create-info --complete-insert --quote-names -u아이디 -p비밀번호 디비명 위와 같이 하면 오류를 어느정도 막을수있다. 위 mysqldump 의 옵션에 대해서 설명하면 --quote-names : mysql 버전이 바뀌면서 테이블명이나 필드명이 사용할 수 없는 이름이 되어 오류가 발생합니다.(ex. password 라는 필드명) 덤프할 때 이 옵션을 추가해 주면 테이블명,필드명 양쪽에 ` 를 추가해주고 import시 데이타가 제대로 등록됩니다. --no-create-info : mysql 테이블은 이미 업데이트 버.. 더보기

반응형