php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.07.2006, 20:54  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard Fremdschlüssel und weitere Fragen

Hab schon mal ein wenig in der Online-Dokumentation gestöbert. Da steht, dass Fremdschlüssel noch nicht in MySQL implementiert sind, aber zu einem späteren Zeitpunkt vielleicht noch implementiert werden. Allerdings ist nur Version 4.0 online?

Wurden Fremdschlüssel schon implementiert und wenn ja wie deklariert man sie?

Gibt es in MySQL sowas wie Vergleiche per if?
Variablen habe ich schon gefunden @name
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.07.2006, 20:58  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard Re: Fremdschlüssel und weitere Fragen

Zitat:
Zitat von c-f-g
Hab schon mal ein wenig in der Online-Dokumentation gestöbert. Da steht, dass Fremdschlüssel noch nicht in MySQL implementiert sind, aber zu einem späteren Zeitpunkt vielleicht noch implementiert werden.
Wo hast du das gelesen?

Zitat:
Zitat von c-f-g
Allerdings ist nur Version 4.0 online?
Wo ist wovon nur Version 4.0 online?

Zitat:
Zitat von c-f-g
Wurden Fremdschlüssel schon implementiert und wenn ja wie deklariert man sie?
Bei der Verwendung von InnoDB-Tabellen kannst du auch in MySQL Fremdschlüssel verwenden: http://dev.mysql.com/doc/refman/5.0/...eign-keys.html

Zitat:
Zitat von c-f-g
Gibt es in MySQL sowas wie Vergleiche per if?
Ja: http://dev.mysql.com/doc/refman/5.0/...html#id2945813
xabbuh ist offline   Mit Zitat antworten
Alt 29.07.2006, 21:08  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

1. http://dev.mysql.com/doc/refman/4.0/...schlussel.html (Version 5 kommt übrigens am 30.06.06 )

2. Von der Online-Doku

3. Kannst Du mal kurz erläutern, was eine InnoDB ist?

Und dann hab ich noch eine Frage zu abzuspeichernden Passwörtern. Was für ein Typ muss die Passwortspalte haben?
c-f-g ist offline   Mit Zitat antworten
Alt 29.07.2006, 21:42  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von c-f-g
3. Kannst Du mal kurz erläutern, was eine InnoDB ist?
Unter MySQL wird einer Tabelle ein Tabellentyp zugeordnet.Je nach verwendetem Tabellentyp stehen unterschiedliche Features zur Verfügung. Eine Übersicht bietet dir http://dev.mysql.com/doc/refman/5.0/...e-engines.html.

Zitat:
Zitat von c-f-g
Und dann hab ich noch eine Frage zu abzuspeichernden Passwörtern. Was für ein Typ muss die Passwortspalte haben?
Wenn die Passwörter als MD5-Hash gespeichert werden, bietet sich sinnvollerweise VARCHAR(32) an.
xabbuh ist offline   Mit Zitat antworten
Alt 29.07.2006, 22:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich verwende für Passwörter neuerdings SHA1 - VARCHAR(40), MD5 ist mir zu weit verbreitet und es gibt mittlerweile zuviele Datenbanken, die für einen MD5 String einen geeigneten Original-String liefern.
Zergling-new ist offline   Mit Zitat antworten
Alt 30.07.2006, 11:05  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Bei MD5 handelt es sich ja um ein Hashverfahren, SHA1 ist wahrscheinlich auch eins? D.h. jedes beliebig lange Passwort wird auf 40 Zeichen "gekürzt"?
Ab welcher MySQL-Version ist SHA1 verfügbar?

Wenn ich es in die DB schreibe, dann geht das über
Code:
INSERT INTO Pass(Name, Passwort) VALUES ('Meier', SHA1('blabla'));
Korrekt?

Und wenn ich es dann vergleichen möchte, ob das richtige Passwort eingegeben wurde, müßte ich SHA1(eingabe) mit dem Wert in der Tabelle vergleichen, oder?
c-f-g ist offline   Mit Zitat antworten
Alt 30.07.2006, 11:12  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Genau, wobei gekürzt nicht das richtige Wort ist.
SHA1() ist ab Version 4.0.2 verfügbar.

http://de.wikipedia.org/wiki/Hash-Funktion
http://de.wikipedia.org/wiki/SHA-1
http://dev.mysql.com/doc/refman/4.1/...functions.html
Zergling-new ist offline   Mit Zitat antworten
Alt 30.07.2006, 12:16  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Ja, daher habe ich gekürzt ja auch in Anführungsstriche gepackt

Braucht man InnoDB zwangsläufig, wenn man Fremdschlüssel modellieren will? Oder reicht es einfach wenn man in der Tabelle mit Fremdschlüssel eine Spalte mit dem gleichen Typ wie in der Tabelle mit Primärschlüssel definiert?
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline   Mit Zitat antworten
Alt 30.07.2006, 12:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Geht auch, allerdings musst du dann die Abhängigkeiten pflegen :P Für das System bleibt das dann eine ganz normale Spalte.
Zergling-new ist offline   Mit Zitat antworten
Alt 30.07.2006, 12:50  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Gut, dann mache ich das wohl lieber so

Irgendwie bekomme ich IF nicht richtig zum laufen
Code:
SELECT @rollnr:=SNr FROM Sendung WHERE RollkartenNr = 4120563;
IF (@rollnr <> NULL) THEN
  SELECT RollkartenNr FROM Sendung WHERE SNr = @rollnr;
ENDIF;
Folgende Fehlermeldung wird ausgegeben:

Code:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (@rollnr <> 0) THEN
SELECT RollkartenNr FROM Sendung WHERE SNr = @rollnr' at line 1
Wenn der Wert nicht gefunden wird, sollte die Variable doch Null sein, oder? Zumindest läßt das ein Test vermuten
Code:
MySQL lieferte ein leeres Resultat zurück (d.h. null Zeilen).
c-f-g ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
gettext, einige fragen notyyy PHP Tipps 2008 12 01.05.2008 12:09
viele kleine Fragen... moose PHP Tipps 2006 7 26.05.2006 16:09
[Erledigt] 2 kleine Fragen... Off-Topic Diskussionen 2 19.10.2005 17:16
Cookies: verschiedene Fragen SvenLittkowski PHP Tipps 2005-2 9 28.09.2005 18:07
Fragen bezüglich einer Suchmaschine Charly Shop Sui PHP Tipps 2005-2 9 09.09.2005 18:15
2 Fragen zu meinem Script PHP Tipps 2005-2 8 06.08.2005 23:29
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
Fragen über Fragen :) Igäl PHP Tipps 2004 3 26.08.2004 08:59
Fragen zu Sessions PHP Tipps 2004 1 21.08.2004 08:21
Logische Fragen suter PHP Tipps 2004 5 19.08.2004 09:48
Grundlegende Fragen zu datenbankgestützten Internetseiten PHP Tipps 2004 1 14.08.2004 16:15
[Erledigt] Fragen zu SSL Off-Topic Diskussionen 0 13.08.2004 17:41
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql fremdschlüssel implementiert, zitate zu fremdschlüssel, mysql in welche tabelle steht der fremschlüssel

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.