github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgSql/GetTableData.go (about)

     1  package kmgSql
     2  
     3  import "fmt"
     4  
     5  // get all data of a table
     6  // mostly for test
     7  func (db *DB) GetTableData(tableName string) (output []map[string]string, err error) {
     8  	return Query(fmt.Sprintf("SELECT * FROM `%s`", tableName))
     9  }
    10  func (db *DB) MustGetTableData(tableName string) (output []map[string]string) {
    11  	output, err := db.GetTableData(tableName)
    12  	if err != nil {
    13  		panic(err)
    14  	}
    15  	return
    16  }
    17  
    18  func (db *DB) GetTableDataMap(tableName string, pkName string) (output map[string]map[string]string, err error) {
    19  	grid, err := db.GetTableData(tableName)
    20  	output = make(map[string]map[string]string)
    21  	for _, row := range grid {
    22  		pk, ok := row[pkName]
    23  		if !ok {
    24  			return nil, fmt.Errorf("GetTableDataMap: pkName colum not exits, tableName: %s, pkName: %s", tableName, pkName)
    25  		}
    26  		output[pk] = row
    27  	}
    28  	return
    29  }
    30  
    31  func (db *DB) MustGetTableDataMap(tableName string, pkName string) (output map[string]map[string]string) {
    32  	output, err := db.GetTableDataMap(tableName, pkName)
    33  	if err != nil {
    34  		panic(err)
    35  	}
    36  	return
    37  }