public function insert($table, array $data, $ignore = false)
    {
        if (empty($data)) {
            throw new LogicException('You have not provided a data to be inserted');
        }

        $keys = array();
        $values = array_values($data);

        foreach (array_keys($data) as $key) {
            $keys[] = $this->quote($key);
        }

        // Handle ignore case
        if ($ignore === true) {
            $ignore = 'IGNORE';
        } else {
            $ignore = '';
        }

        // Build and append query we made
        $this->append(sprintf('INSERT %s INTO %s (%s) VALUES (%s)', $ignore, $this->quote($table), implode(', ', $keys), implode(', ', $values)));
        return $this;
    }