테이블 복제하기

JC
Museion
Published in
2 min readFeb 27, 2020

컬럼을 잘 모를 때

사용자가 데이터를 복제해야 할 경우가 있는데 테이블 컬럼이 나도 모르게 변경될 수 있다. 어떤 데이터를 복제해야 하는지 정확하지도 않아 일부 컬럼을 뺀 나머지를 복제하는 꼼수 함수를 만들었다.

<?phppublic function cloneRow($pk){    $SQL = "SELECT * FROM TBL where id = ".$pk;    $origin = $this->db->getResult()[0];    $clone = $origin;    unset($clone['id']); // auto increment    unset($clone['datetime']); // default now()    unset($clone['state']); // have default values    $keys = array_keys($clone);    $vals = array_values($clone);    $string = "'".join("', '", $vals)."'";    $string = str_replace("''", "NULL", $string);    $SQL = "INSERT INTO TBL (".join(", ", $keys) .") VALUES (".$vals_string.") ";    $this->db->query($SQL);    return true;}

다른 좋은 방법이 있을지 모르겠지만 작동은 잘 되는 것 같다.

--

--

JC
Museion
Editor for

책 읽는 개발자. 아빠. 생산성, 책, 개발에 관한 글을 남깁니다.