<?php
require_once CLASS_REALDIR . 'SC_Query.php';
class SC_Query_Ex extends SC_Query {
public function addColumn($table_name, $col_name, $col_type) {
$arrVal = $this -> extractOnlyColsOf($table_name, array($col_name => $col_type));
if (empty($arrVal)) {
$sql = "ALTER TABLE $table_name ADD $col_name $col_type ";
$this -> query($sql);
}
}
public function dropColumn($table_name, $col_name) {
$arrVal = $this -> extractOnlyColsOf($table_name, array($col_name => $col_type));
if (!empty($arrVal)) {
$sql = "ALTER TABLE $table_name DROP $col_name";
$this -> query($sql);
}
}
public function changeColumn($table_name, $col_name, $new_col_name, $new_col_type) {
switch(DB_TYPE) {
case "mysql" :
$sql = "ALTER TABLE $table_name CHANGE COLUMN $col_name $new_col_name $new_col_type";
$this -> query($sql);
case 'pgsql' :
$sql = "ALTER TABLE $table_name RENAME COLUMN $col_name TO $new_col_name";
$this -> query($sql);
$sql = "ALTER TABLE $table_name ALTER COLUMN $col_name TYPE $new_col_type";
$this -> query($sql);
}
}
public function insert($table, $arrVal, $arrSql = array(), $arrSqlVal = array(), $from = '', $arrFromVal = array()) {
$arrVal = $this -> extractOnlyColsOf($table, $arrVal);
parent::insert($table, $arrVal, $arrSql, $arrSqlVal, $from, $arrFromVal);
}
public function update($table, $arrVal, $where = '', $arrWhereVal = array(), $arrRawSql = array(), $arrRawSqlVal = array()) {
$arrVal = $this -> extractOnlyColsOf($table, $arrVal);
parent::update($table, $arrVal, $where, $arrWhereVal, $arrRawSql, $arrRawSqlVal);
}
}
- SC_Query_Ex::addColumn
- SC_Query_Ex::dropColumn
- SC_Query_Ex::changeColumn
- SC_Query_Ex::insert
- インサートを行う。 $arrForm(Hash) から 変換で自動で不要項目を除去
- SC_Query_Ex::update
- アップデートを行う。 $arrForm(Hash) から 変換で自動で不要項目を除去