본문 바로가기

반응형

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. 이 외.. 더보기
MySQL 5.6에서 Invalid value error 이전에 mysql 사용하면서 insert 하거나 update 할때 값이 없으면 자동으로 기본값이 적용되거나 pass 되었는대 5.6 버전으로 올리면서 이런 부분들에서 error 가 발생하기 시작했다. MySQL 5.6.6 버전부터 sql_mode 가 있는대 값이 있을 경우 NOT NULL 로 지정된 필드는 값을 넘겨주지 않으면, int type 필드는 값이 없을때 '' 같이 빈 문자열을 넘기면 타입이 다르다고 error 가 발생한다. 모든값을을 정확하게 처리해주면 문제가 없긴 하지만 갑자기 모두 바꾸기 힘들땐 더보기
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 | +-----------------+.. 더보기
asp c# .net 에서 mysql password 값을 만들기 mysql 4.1 이하 버전용 [OLD_PASSWORD] public static string mysql_old_password(string sPassword) { UInt32[] result = new UInt32[2]; bool bDebug = false; UInt32 nr = (UInt32)1345345333, add = (UInt32)7, nr2 = (UInt32)0x12345671; UInt32 tmp; char [] password = sPassword.ToCharArray(); int i; for (i = 0; i http://stackoverflow.com/questions/868482/simulating-mysqls-password-encryption-using-net-or-ms-sql .. 더보기
MySQL dump 받을때 조건 (where) 추가해서 받기 mysqldump -u아이디 -p비밀번호 -w " b_class = 10 or b_class = 11 " 디비명 테이블명 특정 테이블에서 where 절을 추가해서 조건에 맞는것만 백업받고 싶을때 위와 같이 사용한다. " 조건문 " 을 사용하면 된다. 더보기
특정 테이블이 사용하는 사용량 확인 방법 SELECT TABLE_NAME, table_rows, data_length, index_length, round(((data_length + index_length) / 1024 / 1024),2) "Size in MB" FROM information_schema.TABLES WHERE table_name = "visit"; 위의 예는 visit 라는 테이블의 사용량을 조회하는 쿼리문이다. 참고한 사이트의 내요은 다음과 같다. 주소는 http://www.shainmiley.com/wordpress/2010/11/15/calculating-overall-databases-sizes-in-mysql/ Recently I had a server that was running low on free disk s.. 더보기
디비내용을 csv 로 저장하기 - 서버상에서 명령어 사용하여 파일로 저장 mysql -u아이디 -p비밀번호 디비명 -B -e "select * from user limit 1;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv - php 에서 csv download 로 구현 할 경우 디비용량이 클경우 (1만건이 넘어가니 브라우져가 멈추는현상까지 나타났다.) 일반적인 방법으로 처리할수 없을경우가 있다. 아래의 방법으로 처리하여 7만건을 다운로드 받을때 2분이내로 처리되는걸 확인했다. 참고로 asp mssql 더보기
주민등록 번호로 나이,나이대 구하기 - 나이 구하기 (jumin_no:주민등록 번호 000000-0000000 형식) select year(now()) - (if (mid(jumin_no, 8, 1) = '1' or mid(jumin_no, 8, 1) = '2', 1900, 2000) +left(jumin_no, 2)) + 1 as age from member - 나이대 구하기 (jumin_no:주민등록 번호 000000-0000000 형식) select age, count(age) as cnt from ( select floor((year(now()) - (if (mid(jumin_no, 8, 1) = '1' or mid(jumin_no, 8, 1) = '2', 1900, 2000) +left(jumin_no, 2)) + 1)/10)*1.. 더보기
string split 구분자로 저장된것을 다른 테이블과 join ex ) select SQL_CALC_FOUND_ROWS pm.*, count(b.b_no) as cnt from product_month pm left outer join books b on concat(',',pm.pm_books_list,',' ) like concat('%,',b.b_no,',%' ) where pm.p_id = 1 group by pm.p_id, pm.pm_no order by pm.pm_no asc 위의 query 문의 설명을 하자면 pm.pm_books_list 에 저장된 값이 "1,2,3,4" 와 같은 문자열로 되어있다 join 되는 books 테이블의 key 인 b_no 값들을 pm_books_list 에 저장된 값과 비교하는것이다. b_no 값을 ",키값," 형태로 바꾸.. 더보기
select시 순서에대한 값을 구하고자 할경우 ranking mysql> set@a = 0; Query OK, 0 rows affected (0.01 sec) mysql> select @a := @a + 1 as rank, num,id from member where order by num desc; +------+-----+--------+ | rank | num | id | +------+-----+--------+ | 1 | 9 | bbbb | | 2 | 5 | abbb | | 3 | 3 | cbbb | +------+-----+--------+ 3 rows in set (0.00 sec) 더보기

반응형