public function insert(string $from, array $data, array $options = [])
    {
        if (!$data) {
            throw new \RuntimeException('The data inserted into the database cannot be empty');
        }

        list($statement, $bindings) = $this->compileInsert($from, $data);

        if (isset($options['dumpSql'])) {
            return [$statement, $bindings];
        }

        $this->fetchAffected($statement, $bindings);

        // 'sequence' For special driver, like PgSQL
        return isset($options['sequence']) ? $this->lastInsertId($options['sequence']) : $this->lastInsertId();
    }