동일한 칼럼값을 가지는 테이블끼리 값들 옮겨 넣기..
페이지 정보
작성자 최고관리자 작성일 21-02-09 11:54 조회 4,783 댓글 0본문
1. 테이블 생성하고 데이터 입력
CREATE TABLE IF NOT EXISTS `새로운테이블` select * from `기존테이블` WHERE 조건절
1. 완전동일하게 넣기
$isql = "INSERT INTO 옮길테이블 SELECT * FROM 기존테이블 WHERE no = '$no'";
$iresult = mysql_query($isql);
2. 특정칼럼 제외하고 넣기 (같은 테이블에서 레코드 복사할때 사용해도 됨.)
function recode_copy ($tbname, $sqlwhere, $exceptcolumn){
//$tbname : 해당 테이블명
//$sqlwhere: 조건문
//$exceptcolumn : 제외시키고자 하는 칼럼명들, 배열형태로, PRIMARY, 유니크등은 제외해야 함.
Global $connect;
$newfiedName = array();
$newfiedValue = array();
if($sqlwhere == '' || !$sqlwhere) $sqlwhere = 1;
$sql = "select * from $tbname where $sqlwhere";
$result = mysql_query($sql);
$fieldsno = mysql_num_fields($result);
$row = mysql_fetch_array($result);
for($i=0; $i < $fieldsno; $i++){
$fiedName = mysql_field_name($result, $i);
$skip = 'N';
for($ni=0;$ni < count($exceptcolumn);$ni++)
{
if($fiedName == $exceptcolumn[$ni]) {
$skip = 'Y';
break;
}
}
if($skip == 'N'){
eval("\$fiedValue = \$row[\$fiedName];");
$newfiedName[] = "`" . $fiedName . "`";
$newfiedValue[] = "'" . addslashes($fiedValue) . "'";
}
}
$pisql = "insert into $tbname (".implode(",", $newfiedName).")";
$pisql .= " values(".implode(",", $newfiedValue).")";
$piresult = mysql_query($pisql);
$new_uid = mysql_insert_id();
return $new_uid;
}
3. 기존테이블의 특정한 칼럼들만 다른 테이블에 입력 하고자 할때.
INSERT INTO `입력테이블` ( c, b ) SELECT a, b FROM `기존테이블` ;
CREATE TABLE IF NOT EXISTS `새로운테이블` select * from `기존테이블` WHERE 조건절
1. 완전동일하게 넣기
$isql = "INSERT INTO 옮길테이블 SELECT * FROM 기존테이블 WHERE no = '$no'";
$iresult = mysql_query($isql);
2. 특정칼럼 제외하고 넣기 (같은 테이블에서 레코드 복사할때 사용해도 됨.)
function recode_copy ($tbname, $sqlwhere, $exceptcolumn){
//$tbname : 해당 테이블명
//$sqlwhere: 조건문
//$exceptcolumn : 제외시키고자 하는 칼럼명들, 배열형태로, PRIMARY, 유니크등은 제외해야 함.
Global $connect;
$newfiedName = array();
$newfiedValue = array();
if($sqlwhere == '' || !$sqlwhere) $sqlwhere = 1;
$sql = "select * from $tbname where $sqlwhere";
$result = mysql_query($sql);
$fieldsno = mysql_num_fields($result);
$row = mysql_fetch_array($result);
for($i=0; $i < $fieldsno; $i++){
$fiedName = mysql_field_name($result, $i);
$skip = 'N';
for($ni=0;$ni < count($exceptcolumn);$ni++)
{
if($fiedName == $exceptcolumn[$ni]) {
$skip = 'Y';
break;
}
}
if($skip == 'N'){
eval("\$fiedValue = \$row[\$fiedName];");
$newfiedName[] = "`" . $fiedName . "`";
$newfiedValue[] = "'" . addslashes($fiedValue) . "'";
}
}
$pisql = "insert into $tbname (".implode(",", $newfiedName).")";
$pisql .= " values(".implode(",", $newfiedValue).")";
$piresult = mysql_query($pisql);
$new_uid = mysql_insert_id();
return $new_uid;
}
3. 기존테이블의 특정한 칼럼들만 다른 테이블에 입력 하고자 할때.
INSERT INTO `입력테이블` ( c, b ) SELECT a, b FROM `기존테이블` ;
댓글목록 0
등록된 댓글이 없습니다.