Mailinglisten-Archive |
Norbert Pfeiffer wrote: > Hi, > >>> Also brauche ich alternative Vorschlaege ... :-) >> was 'darfst' du denn verwenden? MySQL Version? > MySQL/4.0.25-standard-log > > Eigentlich koennte man ja den durchsuchbaren Content der > jeweiligen Tabelle in eine andere Tabelle ueberfuehren: > > CREATE TABLE grandsearch ( > nr int(11) NOT NULL auto_increment, > art char(1) NOT NULL default '', > idx int(11) NOT NULL default 0, > file varchar(11) NOT NULL default '', > content text, > FULLTEXT KEY (content), > PRIMARY KEY (nr) > ); > > INSERT INTO grandsearch (art, idx, file, content) > SELECT 'K', kID, minAbb, > CONCAT(vorname,' ',name,' ',biogra,' ',ausste) > FROM kuenstler WHERE FG = 'Y'; > > INSERT INTO grandsearch (art, idx, file, content) > SELECT 'O', oID, minAbb, CONCAT(titel,' ',descr) > FROM objects WHERE FG = 'Y'; > > INSERT INTO grandsearch (art, idx, file, content) > SELECT 'X', f.fID, f.titel, CONCAT(x.titel,' ',x.descr) > FROM texte AS x > LEFT JOIN tex2fil AS m ON x.xID = m.xID > LEFT JOIN files AS f ON f.fID = m.fID > WHERE f.titel <> '*'; (SELECT 'K', kID, minAbb, CONCAT_WS(' ',vorname,name,biogra,ausste) ... WHERE ...) UNION (SELECT 'O', oID, minAbb, CONCAT_WS(' ',titel,descr) ... WHERE ...) UNION (SELECT 'X', f.fID, f.titel, CONCAT_WS(' ',x.titel,x.descr) ... WHERE ...) LIMIT 10; > Nun hat man eine ganz normale Suche in einer Tabelle. > Fragt sich halt nur, wie oft man grandsearch aktualisiert, > MySQL hat leider keine Trigger ... :-( MySQL _4_ kennt ja leider _noch_ keine Trigger ... mit 5 hättest du sowohl Trigger als auch VIEWS, beides könnte dir helfen ... -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive