Mailinglisten-Archive |
Hallo Herr Pfeifer, Sie sind wirklich ein Genie. Und ich hatte wegen Dieser Sache zwei Nächte lang nicht geschlafen (;-)) Es funktioniert ganz hervorragend. Wenn ich die Tabelle anlege, bekomme ich einen Syntax ERROR. Wenn ich das ENGINE=MyISAM weglasse geht es aber. Was bedeutet eigentlich das MyISAM? Ist das wichtig? Liebe Grüße und herzlichen Dank Manfred > Hallo Manfred, > > denke, dass die nachfolgenden Querys Dein Problem loesen: > > # zuerst die Tabelle > CREATE TABLE strings ( > word varchar(33) NOT NULL default '', > anzl int(11) NOT NULL default '0', > UNIQUE KEY word (word) > ) ENGINE=MyISAM; > > # und dann der Ablauf: > SET @anzahl = 0; > SET @neuword = 'Dieter'; > SELECT (@anzahl := anzl) AS zz FROM strings WHERE word LIKE @neuword; > REPLACE INTO strings SET word = @neuword, anzl = @anzahl; > UPDATE strings SET anzl = (anzl + 1) WHERE word LIKE @neuword; > > # sowie die Kontrolle: > SELECT * FROM strings; > +-----------+------+ > | word | anzl | > +-----------+------+ > | Norbert | 6 | > | Siegfried | 2 | > | Rorbert | 7 | > | Dieter | 1 | > +-----------+------+ > 4 rows in set (0.05 sec) > > Wobei ich das sicher lieber mit PHP loesen wurde. > REPLACE ist vor allem bei auto_increment-Feldern > keine so gute Wahl ... > > > m. b. G. Norbert > _____________________ > normal: 02686-987103 > Notruf: 0163-3613642 > --------------------- > e.o.m. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive