Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql abfrage mit LIKE "%_status"

Einklappen

Neue Werbung 2019

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

  • mysql abfrage mit LIKE "%_status"

    Hi,

    ich habe eine Abfrage geschrieben, die prinzipell klappt... aber zu viele Rückgabewerte liefert, weil _ nicht berücksichtigt wird.

    PHP-Code:
    SELECT FROM `config
    WHERE `keyLIKE '%_status' 
    AND `valREGEXP '^[[:digit:]]+$' 
    Rückgabe:
    Code:
    produktstatus 	1
    lastschrift_status 	1
    nachnahme_status 	2
    "produktstatus" hätte garnicht auftauchen dürfen. Ich schließe bei dieser Rückgabe, dass das _ Zeichen ignoriert wird.
    Wie kann ich das umgehen/beheben ?

  • #2
    Der "_" bedeuted innerhalb eines Like-Syntax ein beliebiges Zeichen, dementsprechend musst du dieses escapen wenn du wirklich einen "_" meinst.

    PHP-Code:
    SELECT FROM `config
    WHERE `keyLIKE '%\_status' 
    AND `valREGEXP '^[[:digit:]]+$' 

    Kommentar


    • #3
      Also mit einem RegExp muss das nicht sein, probiers mal hiermit:
      http://dev.mysql.com/doc/refman/5.0/...functions.html
      Code:
      SELECT 'David_' LIKE 'David|_' ESCAPE '|';
      Was aber viel wichtiger ist, wieso deine Datenbank nicht ausnormalisiert zu sein scheint.

      Kommentar

      Lädt...
      X