double als Binärdaten speichern?



  • Hallo,

    mal ne dumme Frage:

    Wie speichert ihr doubles in einer MySql Datenbank?

    1. in einer als "double" deklarierten Spalte

    2. in einem blob?

    3. hat den Nachteil, dass der double in der Anfrage als Zeichenkette vorliegen muss
      (=> es muss andauern hin- und herkonvertiert werden: double <=> char * etc.)

    4. bin damit noch ned recht weit und jetzt würd mich interessieren, ob sowas sinnvoll ist und ob sich weiteres ausprobieren überhaupt lohnt:
      Aber über nen Tipp, ob ich auf dem richtigen Dampfer bin, würd ich mich freuen.

    char * escaped = new char[2 * sizeof(double) + 1]; // laut mysql doku braucht man 2n + 1 Byte an Platz (worst case)
    double myDouble = 12.37;
    
    mysql_real_escape_string(dbHandle, escaped, (char *) &myDouble, sizeof(double));
    // der cast nach char * schaut irgendwie suspekt aus...
    

    Najo, wenn ich escaped jetzt in eine Anfrage reinbaue, muss ich dann die binäre Null am Ende entfernen?

    thx
    Martin


Anmelden zum Antworten