컬럼을 잘 모를 때
사용자가 데이터를 복제해야 할 경우가 있는데 테이블 컬럼이 나도 모르게 변경될 수 있다. 어떤 데이터를 복제해야 하는지 정확하지도 않아 일부 컬럼을 뺀 나머지를 복제하는 꼼수 함수를 만들었다.
<?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;}
다른 좋은 방법이 있을지 모르겠지만 작동은 잘 되는 것 같다.