3 Spalten aus Cvs in Mysql zusammensetzen

Das Concat ist Interesannt zu wissen aber dies wird hier ja schon gemacht oder?

SELECT VORNAME + '.' + NACHNAME + '.' + REPLACE(Geburtsdatum , '.', '')

Ich weiß nur leider nicht genau wie ich das alles zusammensetzten soll, damit er mir dies macht.
 
Ich kann mit den Schnipseln leider nicht viel anfangen.

Ich habe ein Php Script was eine Verbindung zu einer Mysql Db hat.

Ich möchte dass das Script die oben beschrieben funktion bringt und ich bekomme es mit den Schnipseln leider nicht hin :(

Könntest du mir vlt einen Ansatz basteln ?
Also einen, mit dem selbst dummies wie ich etwas anfangen können? :)
 
Hi,

Du brauchst dafür kein PHP-Script. Schau Dir Bernds Statement nochmal an, ersetze den SELECT-Teil durch die Version mit CONCAT_WS() und führe diese Abfrage dann in einem MySQL-Client Deiner Wahl (Konsole, PHPMyAdmin,...) aus. ;)

LG
 
Es funktioniert super.
Das einzigste Problem was ich jetzt noch habe ist:

- Wie mache ich es das er in jeder Zeile noch das @localhost.de hinter dem Geburtsdatum ergänzt und automatisch in jede Zeile der Spalte PASSWORD test einfügt?
Hast du da noch nen Tipp?

Vielen dank schon mal für deine bisherigen Hilfen.
Waren sehr gut.
 
Hi,

- Wie mache ich es das er in jeder Zeile noch das @localhost.de hinter dem Geburtsdatum ergänzt

Das kannst Du doch einfach mit einem CONCAT() machen:

SQL:
CONCAT(REPLACE(Geburtsdatum , '.', ''), '@localhost.de')

Du kannst solche Ausdrücke verschachteln. ;)

und automatisch in jede Zeile der Spalte PASSWORD test einfügt?
Hast du da noch nen Tipp?

Dann müsstest Du beim Insert die Spalte "password" mit angeben und im Select einfach "test" AS `password` mit auswählen:

SQL:
SELECT CONCAT_WS(...), 'test' AS `password` FROM ...

Probier mal ein bischen herum, indem Du den Selectteil einfach in PHPMyAdmin testest, bis genau das herauskommt, was Du in Deine eigentliche Tabelle einfügen willst.

LG
 
Ich habe etwas herumgebastelt aber es will wieder nicht funktionieren :(

So habe ich es:

Code:
INSERT INTO user (email)
SELECT CONCAT_WS('.', VORNAME, NACHNAME, REPLACE(GEBDAT , '.', ''), '@localhost.de')
FROM testtable

Jetzt habe ich als Benutzername in der Spalte stehen:

vorname.nachname.20101968.@localhost.de

Da ist ein Punkt zuviel.
Mit dem Passwort bekomme ich nicht hin :(
 
Das ist doch klar, dass da noch ein Punkt ist, wenn doch alle Teile mit einem Punkt zusammengefügt werden. Wie schon jemand vor mir schrieb, kannst du die Ausdrücke verschachteln. Versuch mal folgendes:
Code:
INSERT INTO user (email)
SELECT CONCAT_WS('', CONCAT_WS('.', VORNAME, NACHNAME, REPLACE(GEBDAT , '.', '')), '@localhost.de')
FROM testtable
 
Zurück