UPDATE / SET - Problem
am 02.09.2005 13:25:36 von Clemens Ebinger
Guten Tag!
Ich habe Probleme mit dem SQL Syntax!
Folgendes hat noch funktioniert:
> UPDATE `users` SET `user_password` = `user_name`;
=> Feld "Passwort" hat den selben Wert wie "Name"!
> UPDATE `users` SET `user_password` = md5(`user_name`);
=> Feld "Passwort" hat den selben Wert wie der md5-Hash von Name.
> UPDATE `users` SET `user_password` = `user_name`+`user_id`;
=> Dummerweise wird user_id nicht als String behandelt, so ist Passwort
immer gleich ´user_id´ :-(
Ich möchte, dass Passwort ein MD5-Hash der Kombination von ID und NAME ist.
Mit php ausgedrueckt: $password = md5($name . $id);
Den Operator "." mag MySQL leider nicht!
Vielen Dank fuer Eure Hilfe!
Gruss
Clemens
Re: UPDATE / SET - Problem
am 02.09.2005 13:32:13 von Niels Braczek
Clemens Ebinger schrieb:
> Ich habe Probleme mit dem SQL Syntax!
Warum fragst du in einer PHP-Gruppe, statt ins Manual zu schauen?
http://dev.mysql.com/doc/mysql/en/functions.html
BTW: Es heiÃt *die* Syntax.
MfG
Niels
--
| http://www.kolleg.de · Das Portal der Kollegs in Deutschland |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · E-Commerce · Mambo Content Management |
`----------------------------------------------------------- -----´
Re: UPDATE / SET - Problem
am 02.09.2005 13:37:39 von Clemens Ebinger
Hallo,
> Warum fragst du in einer PHP-Gruppe, statt ins Manual zu schauen?
ich mir Hilfe erhoffe.
>http://dev.mysql.com/doc/mysql/en/functions.html
fuendig bin ich noch nicht geworden!
fuer genaue hinweise bin ich weiterhin dankbar.
> BTW: Es heißt *die* Syntax.
Stimmt!
Ich hatte davor "Query" stehen, wusste aber nicht ob "der", "das", oder
"die" Query, wahrscheinlich aber auch "die", da die meisten Uebersetzungen
im deutschen feminin sind. Danke fuer den Hinweis.
Gruss
Clemens
Re: UPDATE / SET - Problem
am 02.09.2005 13:58:16 von Joerg Behrens
Clemens Ebinger" schrieb im Newsbeitrag
news:df9di3$a8h$05$1@news.t-online.com...
> Hallo,
>
>> Warum fragst du in einer PHP-Gruppe, statt ins Manual zu schauen?
> ich mir Hilfe erhoffe.
>
>>http://dev.mysql.com/doc/mysql/en/functions.html
> fuendig bin ich noch nicht geworden!
> fuer genaue hinweise bin ich weiterhin dankbar.
Du suchst im (mysql) Manual die Funktion concat(). Als Anmerkung
noch gleich hinterher das unterschiedliche Implementationen von md5()
geben kann.
Desweiteren mache dich mal Schlau wann man ', " oder die ` benutzt.
Gruss
Joerg
Re: UPDATE / SET - Problem
am 02.09.2005 14:12:08 von Clemens Ebinger
Hallo,
CONCAT hat funktioniert!
Vielen Dank!
>Desweiteren mache dich mal Schlau wann man ', " oder die ` benutzt.
Kannst du mir es nicht kurz erklären oder mir sagen, wo ich eine kurze
Antwort finde?
Denn leider weiss ich bei dem/der (*g*) MySQL-Manual oft nicht, wo ich
suchen muss.
Gruss
Clemens
Re: UPDATE / SET - Problem
am 02.09.2005 20:46:51 von Matthias Esken
On Fri, 2 Sep 2005 13:58:16 +0200, Joerg Behrens wrote:
> Desweiteren mache dich mal Schlau wann man ', " oder die ` benutzt.
Warum benutzt jemand überhaupt die `?
Gruß,
Matthias
Re: UPDATE / SET - Problem
am 02.09.2005 21:05:06 von Kai Ruhnau
Matthias Esken wrote:
> On Fri, 2 Sep 2005 13:58:16 +0200, Joerg Behrens wrote:
>
>
>> Desweiteren mache dich mal Schlau wann man ', " oder die ` benutzt.
Warum? Ihre Benutzung fand im exakt richtigen Kontext statt.
> Warum benutzt jemand überhaupt die `?
Weil nach SQL-Standard ` gesichert Bezeichner (Tabellennamen,
Spaltennamen...) einschließen und ' gesichert Strings einschließen. "
sollte laut Standard auch Bezeichner einschließen, verhält sich
allerdings beispielsweise bei MySQL je nach sql_mode mal als ' und mal
als ` und ist damit ein gefundenes Fressen für Bugs.
Grüße
Kai
--
This signature is left as an exercise for the reader.
Re: UPDATE / SET - Problem
am 02.09.2005 21:39:37 von Carsten Wiedmann
Matthias Esken schrieb:
> > Desweiteren mache dich mal Schlau wann man ', " oder die `
> > benutzt.
>
> Warum benutzt jemand überhaupt die `?
Hi Matthias,
du scheinst einer der Programmierer vom WBB zu sein? ;-)
Immerhin ist gerade das Fehlen der Quotes, bei den Bezeichern, für das
Versagen dieses Boards verantworlich, wenn man MySQL von 4.0.x auf 4.1.x
updated. Ab das auf die derzeit aktuelle Version vom WBB auch noch
zutrifft, kann ich nciht sagen. Andere Software ist/war da bestimmt
genauso betroffen.
Ansonsten:
http://dev.mysql.com/doc/mysql/en/legal-names.html
Gruß
Carsten
Re: UPDATE / SET - Problem
am 02.09.2005 22:55:56 von Matthias Esken
On 02 Sep 2005 19:39:37 GMT, Carsten Wiedmann wrote:
> http://dev.mysql.com/doc/mysql/en/legal-names.html
Tja und da steht so schön:
| Identifier quoting was introduced in MySQL 3.23.6 to allow use of
| identifiers that are reserved words or that contain special characters.
Genau das meine ich. Welche Pappnase verwendet denn "reserved words" oder
Sonderzeichen in Tabellen- bzw. Spaltennamen?
Ich fummel doch nicht jedesmal mit den Backticks herum wenn es gar nicht
erforderlich ist. Wer so was macht, der schreibt auch:
$var = "$foo" . "$bar";
Gruß,
Matthias
Re: UPDATE / SET - Problem
am 03.09.2005 06:01:02 von Carsten Wiedmann
Matthias Esken schrieb:
> | Identifier quoting was introduced in MySQL 3.23.6 to allow use of
> | identifiers that are reserved words or that contain special
> | characters.
>
> Genau das meine ich. Welche Pappnase verwendet denn "reserved words"
> oder Sonderzeichen in Tabellen- bzw. Spaltennamen?
Und da wäre wieder das Beispiel vom WBB:
Zum Zeitpunkt von MySQL 4.0.x war einer der gewählte Spaltenname auch
noch kein reserviertes Wort. Und schwupp kommt MySQL 4.1.x, und die
führen eine Funktion dort ein, die genau den selben Namen hat wie diese
Spalte...
Man hätte sich also bei dem Hersteller vom WBB dadurch, nicht
"tippfaul" zu sein, viel Ärger erspart.
Irgendwie seit ihr in d.c.l.p.m viel strenger, wenn es darum geht, nicht
PHP die Entscheidung zu überlassen was man eigentlich will/meint ;-)
Gruß
Carsten
Re: UPDATE / SET - Problem
am 04.09.2005 19:32:50 von maffe-usenet
Hallo,
>>http://dev.mysql.com/doc/mysql/en/legal-names.html
>=20
> Tja und da steht so schön:
>=20
> | Identifier quoting was introduced in MySQL 3.23.6 to allow use of=20
> | identifiers that are reserved words or that contain special character=
s.
>=20
> Genau das meine ich. Welche Pappnase verwendet denn "reserved words" od=
er
> Sonderzeichen in Tabellen- bzw. Spaltennamen?
Ich meld mich mal. "Alter" ist doch eine schöne Spaltenbezeichnung ;=
-)=20
Auch wenn man oft eher englischsprachige Bezeichnungen verwendet.
GruÃ
Martin