티스토리 뷰

PHP INSERT .... SELECT

데타신 2016. 4. 27. 18:59

 

<?php
$sql = " INSERT IGNORE INTO `tableA` ( item_name, item_no, item_price )
            SELECT item_name, '$item_no', item_price
              FROM `tableA`
              WHERE item_no = '1234'
              ORDER BY idx ";
mysql_query($sql);
?>


테이블 복사 할때 유용하지 말입니다.


위 코드는 tableA의 데이터를 복사하는 것인데 item_no = 1234인 레코드를 item_no = 5678 인 레코드로 복사하는것이다. 


$item_no = 5678인 셈이다. 그리고 idx는 AUTOINCREMENT 속성이 들어간 필드이다. 이런 식으로 쿼리를 작성해서 실행시키면 간단하게 데이터가 복사된다. IGNORE가 들어간 이유는 동일한 테이블이기 때문에 데이터가 중복된다고 에러를 내기 때문이다.

 

 

데타신카페

데타신카페
댓글