protected function _build_insert_update()
{
$query = array();
$query[] = "INSERT INTO";
$query[] = $this->_quote_identifier($this->_table_name);
$field_list = array_map(array($this, '_quote_identifier'), array_keys($this->_dirty_fields));
$query[] = "(" . implode(", ", $field_list) . ")";
$query[] = "VALUES";
$placeholders = $this->_create_placeholders($this->_dirty_fields);
$query[] = "({$placeholders})";
$query[] = " ON DUPLICATE KEY UPDATE ";
$query[] = implode(" = ?, ", $field_list) . " = ? ";
return implode(" ", $query);
}