case-insensetive select bei einer binary inodb tabelle?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • case-insensetive select bei einer binary inodb tabelle?

    Hallo,

    ich habe folgendes Problem:

    Ich brauche eine Tabelle in der ich keywords speichern kann, die spalte mit den keywords soll unique und binary sein, sodass ich `test` und `Test` speichern kann.

    Für die Suche benötige ich allerdings die Möglichkeit caseinsensetive zu suchen, wenn ich also nach `test` suche, sollen die Ergebnisse `Test` und `test` gefunden werden.
    Jetzt weiß ich allerdings nicht wie ich das umsetzen kann, weil ein select in der binary spalte automatisch casesensetive ist.

    Wie sollte eine innodb tabelle aufgebaut sein in der unique keywords gespeichert werden können (casesensetive) und wie kann in dieser dann caseinsensetive ausgewählt werden? (Suche nach `test` soll Ergebnisse `test`, `Test`, `tEst` usw bringen)

    Thx für eure Hilfe!

  • #2
    Hallo,

    du kannst es mit
    Code:
    CONVERT(`spalte` using utf8)
    in einen bestimmten Zeichensatz konvertieren, wobei du statt utf8 natürlich auch andere Zeichensätze nehmen kannst.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hey,

      danke erstmal für deine Antwort.

      Aber ist das nicht ziemlich rechenintensiv beispielsweise utf8_bin bei einem select immer in utf8_unicode_ci umzuwandeln?

      Das gleiche Problem hatte ich auch schon bei meiner idee upper() und lower() zu verwenden.

      Gibt es da keine Möglichkeit das ohne eine Konvertierung also ohne zusätzliche rechenintensive Operationen durchzuführen, bzw. wird beim wechseln des zeichensatzes von utf8_bin zu utf8_unicode_ci convertiert oder der vorhandene datensatz nur anders interpretiert?

      Kommentar


      • #4
        Der vorhandene Datensatz wird nur anders interpretiert. So teuer ist das auch gar nicht. LIKE wäre z. B. viel rechenlastiger.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X