Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Dienstag, 10. April 2012, 15:45

MySQL CONCAT -Abfrage

Hallo :P
Ich versuche momentan ein Heart-System zuscripten...
Funktioniert auch alles, nur beim "Heart!" -Command habe ich Probleme...

Ich will mit MySQL den Namen aus der Spalte `heartfrom`
Auslesen, und den mit "" Ersetzen (Sprich mit nichts)...
Aber die anderen Namen die in der Spalte stehen sollen dableiben. Sprich, ich will nicht die komplette Spalte "säubern".
Beispiel der Spalte: 'Testaccount1:Testaccount2:Testaccount3:'
Und nun muss ich irgendwie den Namen Testaccount2 aus der Spalte rausbekommen...
Wie mach ich das?

Bei meinem "heart" -Command fügt er die Namen so hinzu:

Quellcode

1
UPDATE `accounts` SET `heartfrom` = concat(`heartfrom`, '%s:') WHERE `name` = '%s'


Das klappt auch alles soweit, aber nach 2 Stunden rumprobieren, Frage ich hier im Forum um Rat...
Also wenn jemand eine Idee hat, bitte her damit :D
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

2

Dienstag, 10. April 2012, 16:24

Du weist schon, dass man bei CONCAT nur "anhängt"?

Nutz dafür nen REPLACE:

MySQL-Abfrage(n)

1
2
3
4
UPDATE `account_test` SET `heartfrom`=REPLACE(`heartfrom`, 'nick1:', '') WHERE `name` = 'james'

-- Also für dich lautet es dann folgendermaßen
UPDATE `accounts` SET `heartfrom`=REPLACE(`heartfrom`, '%s:', '') WHERE `name`='%s' LIMIT 1


P.S.

Warum nutzt ihr keine LIMITS? ;-)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:30)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Landor_Frostwolf

Localhost

Ehemaliger Supporter

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

3

Dienstag, 10. April 2012, 16:48

Beispiel der Spalte: 'Testaccount1:Testaccount2:Testaccount3:'
Und nun muss ich irgendwie den Namen Testaccount2 aus der Spalte rausbekommen...
Wie mach ich das?



Java-Quelltext

1
2
3
4
String nicks = "Testaccount1:Testaccount2:Testaccount3:";
String[] split = nicks.split(":");

// split[1] = Testaccount2
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

4

Dienstag, 10. April 2012, 16:59

Du weist schon, dass man bei CONCAT nur "anhängt"?
Nutz dafür nen REPLACE:

MySQL-Abfrage(n)

1
2
3
4
UPDATE `account_test` SET `heartfrom`=REPLACE(`heartfrom`, 'nick1:', '') WHERE `name` = 'james'

-- Also für dich lautet es dann folgendermaßen
UPDATE `accounts` SET `heartfrom`=REPLACE(`heartfrom`, '%s:', '') WHERE `name`='%s' LIMIT 1


P.S.
Warum nutzt ihr keine LIMITS? ;-)
Bin gerade am League of Legends spielen :D
...Ich werde es später ausprobieren, ich danke dir trozdem schonmal :)

// Edit:
Klappt, danke :thumbsup:
Mein Fachgebiet:
- HTML
- PHP
- MySQL
- Perl

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Landor_Frostwolf« (10. April 2012, 17:57)