AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem bei Defaultwert in MySQL

Problem bei Defaultwert in MySQL

Ein Thema von Angel4585 · begonnen am 30. Mai 2006 · letzter Beitrag vom 31. Mai 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 12:02
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
Hallo zusammen,

ich mache gerade eine Benutzertabelle in welcher ich die Passwörter als MD5-Prüfsummen speichern möchte.

Ich erzeuge die Tabelle:
SQL-Code:
CREATE TABLE Benutzer(
ID INT NOT NULL AUTO_INCREMENT,
Nick VARCHAR(40),
Passwort VARCHAR(32) DEFAULT "MD5(000)"
)
Das Problem ist jetzt nur dieser Defaultwert den ich setzen möchte, sodass der User bei seinem ersten Login sein Passwort ändern muss.

regulär sähe dieser MD5-Befehl so aus:
MD5("000") allerdings kommt dann ein Syntaxfehler


Kann ich direkt MD5 als Default verwenden?

MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 12:09
Versuch mal:
SQL-Code:
CREATE TABLE Benutzer(
ID INT NOT NULL AUTO_INCREMENT,
Nick VARCHAR(40),
Passwort VARCHAR(32) DEFAULT 'MD5("000")';)
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 12:13
nope.. da wird mir dann einfach "MD5("000")" in das Feld geschrieben...

und bei "MD5("000")" kommt wieder ein Syntaxfehhler
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 12:46
Und so
DEFAULT MD5("000") ?
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 12:54
Syntaxfehler
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 13:13
Hab mir jetzt die MD5.pas ausm Netz gezogen und erzeuge mit der ne MD5 Prüfsumme die ich als Defaultwert übergeb.. des funzt.. aber ich hätts irgendwie trotzdem gern direkt mit SQL gemacht..
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Problem bei Defaultwert in MySQL

  Alt 30. Mai 2006, 14:03
Hallo!

Zitat:
As of MySQL 4.1.0, you can use DEFAULT(col_name) as a more general form that can be used in expressions to produce a given column's default value.
Also würde ich mal folgendes tippen:
SQL-Code:
CREATE TABLE Benutzer(
ID INT NOT NULL AUTO_INCREMENT,
Nick VARCHAR(40),
Passwort VARCHAR(32) DEFAULT (MD5('000'))
)
EDIT: Geht aber nicht.
NACHTRAG: Wieso nicht einfach so:
Passwort VARCHAR(32) DEFAULT 'c6f057b86584942e415435ffb1fa93d4' Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Problem bei Defaultwert in MySQL

  Alt 31. Mai 2006, 05:20
Hai Angel4585,

erzeuge Dir einfach einen Before-Insert Trigger:

SQL-Code:
CREATE TRIGGER `benutzer_before_ins_tr` BEFORE INSERT ON `benutzer`
  FOR EACH ROW
BEGIN
  SET NEW.passwort = MD5('000');
END;
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Problem bei Defaultwert in MySQL

  Alt 31. Mai 2006, 07:13
Zitat von Sharky:
erzeuge Dir einfach einen Before-Insert Trigger:
Die laufen aber wohl doch nur mit dem Tabellentyp InnoDB und nicht mit MyISAM, oder ?

Ich denke faux Lösung ist eindeutig die einfachste
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz