public function update($table, $values, $tail, $tailArgs = array())
    {
        $colOK = $this->_getColumns($table);
        $query = $this->query('UPDATE ' . $table . ' SET');
        $cols = array();

        if (!($tail instanceof PDBquery)) {
            $tail = $this->query($tail, $tailArgs);
        };

        if (is_array($values)) {
            foreach ($values as $key => $val) {
                if (in_array($key, $colOK)) {
                    $cols[] = $this->query("{$key}=?", array($val));  // Array to allow NULL
                };
            };
        };
        $query->implode(',', $cols)->append($tail);
        return
            $this->_prepare($query->getQuery())->_execute($query->getArgs())
            ? $this->_sth->rowCount()
            : false
        ;
    }