Rolf B: mySQL Bei Suche über mehrer Spalten auch den Feldnamen des Treffer ausgeben

Beitrag lesen

Hallo LastBoyScout,

hast Du keine Leserechte auf der DB, oder sollst Du sie einfach nur lesen?

Es gibt zwei Möglichkeiten, sich vom DBMS helfen zu lassen, ohne dass die Originalanwendung etwas davon mitbekommt (bis auf minimale Tempoverluste):

(1) Ein Update-Trigger, der Änderungen an Fon, Mob und Fax automatisch von Sonderzeichen befreit und den Wert passend in eine andere Tabelle einträgt. Für diese bietet sich dann die bereits vorgeschlagene Struktur an, wo ein Satz immer nur eine Nummer enthält. Der Trigger ist nicht ganz trivial und braucht etwas Logik, er muss ja auch den Satz in der Suchtabelle löschen können, wenn ein Feld geleert wird. Bei Neueintragungen und Änderungen gibt's INSERT mit ON DUPLICATE KEY UPDATE.

(2) Ist Dir das zu kompliziert, kann man auch per ALTER TABLE drei materialisierte, berechnete Spalten für Fon, Mob und Fax in die Originaltabelle einsetzen. Die Berechnungsformel kann die REPLACE-Ausdrücke enthalten.

Rolf

--
sumpsi - posui - obstruxi