Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przejdź do sterownika SQL, pobierz wartości kolumn interfejsu{}

Zobacz ten https://stackoverflow.com/questions/20271123/go -lang-sql-w-parametrach odpowiedź, na której opiera się moja odpowiedź. Używając tego, możesz zrobić coś takiego:

var myMap = make(map[string]interface{})
rows, err := db.Query("SELECT * FROM myTable")
defer rows.Close()
if err != nil {
    log.Fatal(err)
}
colNames, err := rows.Columns()
if err != nil {
    log.Fatal(err)
}
cols := make([]interface{}, len(colNames))
colPtrs := make([]interface{}, len(colNames))
for i := 0; i < len(colNames); i++ {
    colPtrs[i] = &cols[i]
}
for rows.Next() {
    err = rows.Scan(colPtrs...)
    if err != nil {
        log.Fatal(err)
    }
    for i, col := range cols {
        myMap[colNames[i]] = col
    }
    // Do something with the map
    for key, val := range myMap {
        fmt.Println("Key:", key, "Value Type:", reflect.TypeOf(val))
    }
}

Korzystając z pakietu odzwierciedlającego, możesz uzyskać typ dla każdej kolumny zgodnie z potrzebami, jak pokazano z pętlą na końcu.

To jest ogólne i będzie działać z każdą tabelą, liczbą kolumn itp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Workbench ignoruje klucze obce

  2. Nie mogę uruchomić serwera MySQL z wiersza poleceń w systemie Windows

  3. Projekt bazy danych do przechowywania wiadomości czatu między ludźmi

  4. Wydajność neo4j w porównaniu do mysql (jak można poprawić?)

  5. Potrzebujesz pomocy eksperta, aby rozwiązać drobne zmiany w zapytaniu o dane przestrzenne