code: func (d *Database) Save(db DB, table string, src interface{}) error {
  	pkName, pkValue, err := d.PrimaryKey(src)
  	if err != nil {
  		return err
  	}
  	if pkName != "" && pkValue != 0 {
  		return d.Update(db, table, src)
  	}
  
  	return d.Insert(db, table, src)
  }
docs: // Save performs an INSERT or an UPDATE, depending on whether or not
  // a primary keys exists and is non-zero.