code: function insert($data){
          $rows   = func_get_args();
          $return = $this->insert_multi($rows);
          if(!$return){
              return false;
          }
          if(!is_array($data)){
              return $return;
          }
  
          // #56 postgresql无法获取新增数据的主键ID @ clov4r-连友 201608
          if ($this->notORM->driver == "pgsql") {
              if (!isset($data[$this->primary])) {
                  //获取序列名称
                  $pgss = $this->query("SELECT pg_get_serial_sequence('" . $this->table . "', '" . $this->primary . "') pgss", $this->parameters)->fetch();
                  if (isset($pgss['pgss'])) {
                      $rs                   = $this->query("select last_value id from " . $pgss['pgss'], $this->parameters)->fetch();
                      $data[$this->primary] = $rs['id'];
                      $this->sequence       = $rs['id'];
                  }
              }
          } else {
              if (!isset($data[$this->primary]) && ($id = $this->notORM->connection->lastInsertId($this->notORM->structure->getSequence($this->table)))) {
                  $data[$this->primary] = $id;
              }
          }
          return new $this->notORM->rowClass($data, $this);
      }
docs: Insert row in a table
  
  @param mixed array($column => $value)|Traversable for single row insert or NotORM_Result|string for INSERT ... SELECT
  @param ... used for extended insert
  
  @return mixed inserted NotORM_Row or false in case of an error or number of affected rows for INSERT ... SELECT