2010의 게시물 표시

[MySQL]필드에 서브쿼리를 사용한경우 서브쿼리 값을 WHERE절에서 검색 하는 방법

SELECT               s.id as shop_id ,               s.hq_name as hq_name ,               i.work_date as work_date ,               ( SELECT n.`count`  FROM work_order.inv_new as n                    AND n.shop_id = i.shop_id               ) as cnt1,                ( SELECT n.`count`  FROM work_order.inv_new as n                    AND n.shop_id = i.shop_id               ) as cnt2 FROM `work_order`.`shop` as s WHERE cnt1 = '1' 이면 에러가 난다.  앨리어스는 검색 할수 없더라. 하다가 안되어서 FROM 절에 SELECT 쓰는 것으로 INLINE VIEW 라고 하더라. MySQL에서도 되는 듯 하여 써봤다.   SELECT 문을 그대로 두고 필드에 일일이 앨리어스를 붙인다음  ( ) 로 싸고 그 앨리어스를 필드명으로 설정 하여 출력 했다.   SELECT shop_id,        hq_name,        shop_name,        place,        agency_cd,        work_date, FROM        ( SELECT               s.id as shop_id ,               s.hq_name as hq_name ,               s.shop_name as shop_name ,               s.place as place ,               s.agency_cd as agency_cd ,               i.work_date as work_date ,            

MySQL 테이블 체크 및 자동 복구

자체적으로 만든 스크립트를 이용해서 테이블별로 백업을 하면서 테이블 체크를 하는데 mysqlcheck 란 실행 화일을  cron에다 등록 시켜서 해도 상관 없겠다.     $backup_db = array("db1","db2") $optimize =1; foreach($backup_db AS $dbName) {  echo "\n==========  $dbName ==========\n";  // DB  $cmd="mysql -uroot -p".DB_PW." $dbName -e\"show tables\" ";  exec($cmd,$tableArr);  // 테이블  foreach($tableArr As $val)  {    if(strstr($val,"+")) continue;    if(strstr($val,"Tables_in_".$dbName)) continue;    if(ereg("([a-zA-Z0-9_])+",$val,$regs))    {      $tableName=trim($regs[0]);    }    else     continue; // 필요 없는 건 걸러내고 테이블 이름만 취한다.     if($optimize)   {    $opt_exe = "mysql -uroot -p".DB_PW."  $dbName  -e\"optimize table device.$tableName\" ";    exec($opt_exe,$output);   }   $dateYMD= date("Y-m-d");   $last_line=system("mysqldump -uroot -p".DB_PW."  --extended-insert=FALSE --add-drop-table  --create-op

MySQL DB 백업 및 일자별 압축 한방에..

  mysqldump -u사용자이름 -p암호 --all-databases | bzip > /data/backup/dbbackup_`date +%Y-%m-%d`.dump.bz2     /data/backup/dbbackup_YYYY-MM-DD.dump.bz2  형식으로 파일이 만들어져서 쌓이게 됩니다. mysqldump 로 나온 텍스트 데이타를 파이프를 이용해서 흘러나온 데이타를 bzip에서  바로 압축 하는 것입니다. 파이프 뒤에 tar 나 기타 압축 도구를 사용해도 되며 mail 을 사용해서 전송 할수도 있습니다.

그림주위의 채워진 글

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>  <HEAD>   <TITLE> New Document </TITLE> <script type="text/javascript" src="jquery-1.3.2.min.js"></script>  </HEAD>  <style>  </style>  <script>  $(document).ready(function() {     $('.feature1').css({'width':'50%', 'border':'1px dashed', 'float':'left' }); });  </script> <body> <img src='dddd'  alt='그림'> <class="feature1">123456778891234567788912345677889123456778891234567788912345677889123456778891234567788912345677889123456778891234567788912345677889123456778891234567788912345677889123456778891234567788912345677889 </p> </body> </HTML>

Word에서 작업 파일을 만들 수 없습니다. 오류해결법

증상 # 프로그램을 실행하거나, 사용하는 도중에 다음과 같은 메시지가 다이얼로그 창으로 나타난다. Word에서 작업 파일을 만들 수 없습니다. 임시 환경 변수를 확인하십시오   원인 # 임시 인터넷 파일의의 주소가 잘못 지정되어있는 경우 발생한다. 임시 인터넷 파일 저장하는 폴더를 따로 설정했거나, 드라이브 재설치나 변경 등으로 문제가 발생할 수 있다.   해결책 # 실행에서 regedit를 실행시킨다. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders 로 이동한다. 이 곳에 있는 값 중에서 Cache 값은 임시 인터넷 파일 경로임을 알 수 있다. 잘못된 임시 인터넷 파일 경로를 올바른 경로로 수정해주면 문제가 해결된다.  

IFRAME 내부의 문서의 높이에 따라서 IFRAME높이를 자동조정

scrollHeight 의 사용 <IFRAME name="mainFrame" src="document.html"></IFRAME>     document.html <html>   <SCRIPT> window.onload = function() {    var sH=document.body.scrollHeight;     parent.document.getElementById("mainFrame").style.height=sH+40; }  </SCRIPT> <body> 내용이 많아서 스크롤 바가 생긴다. 그런데 스크롤 생기는 건 싫다. 문서가 로딩 땔때 scrollHeight; 를 구해서 숫자를 조금 더해 준후 상위 프레임의 document.... 에서 mainframe 의 스타일 속성을 자동으로 설정 한다. </body> </html>

MySQL의 데이터를 백업

  MySQL의 데이터를 백업하는 방법은 크게 두가지로 분류 할 수 있다. 1. mysqldump를 이용한 text타입의 백업 방법. 2. 데이터파일 자체를 복사하는 백업 방법. 두가지 방법모두 장단점이 있으므로 용도와 필요에 맞게 사용하는 것이 좋다. 1. mysqldump를 이용한 백업(출처 : http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html )  mysqldump는 Igor Romanenko라는 사람이 만든 백업 프로그램이다. 이는 database나 database의 일부를 백업하는 목적이나 다른 시스템으로 옮길때 사용된다. 그리고 원하는 분리 문자를 넣을 수 있어 CSV파일 등으로 만들 수 있으며, XML포맷으로 만들 수도 있다.  굉장히 많은 옵션들을 제공하고 있는 만큼 사용하는 방법과 용도 또한 여러가지이다. 먼저 가장 기본적인 사용법 부터 알아 보자. 아래에 옵션표를 첨부할 것이다. 1) database백업 shell> mysqldump -u user -p 백업할 db_name > 파일명 shell> mysqldump -u comnic -p database1 > database1_20090321000000.sql 위는 comnic이라는 유저로 database1이라는 database를 database1_20090321000000.sql파일로 백업하라는 내용이다. 2) table백업 shell> mysqldump -u user -p 백업할 db_name table_name > 파일명 shell> mysqldump -u comnic -p database1 table1 > table1_20090321000000.sql 위는 comnic이라는 유저로 database1의 table1이라는 table을 table1_20090321000000.sql파일로 백업하라는 내용이다. 3) Table 구조만 백업 shell> mysqldump --no-data