News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 3
Seite [1]
Rouven89


Going for pro




Beiträge: 539
# Thema - 24.07.2012 um 10:02 Uhr
hey kann mir jemand sagen, wir ich bei phpmyadmin einen fremdschlüssel erzeugen kann? finde im internet keine beschreibung dazu, bzw sieht das dort anders aus wie zb hier: http://www.binarytides.com/blog/create-foreign-key-using-phpmyadmin/, nur ich habe wenn ich auf struktur gehe keinen link unten "Relation new" kann man doch sicher auch schon bei der erstellung der tabelle angeben, welches feld ein fremdschlüssel sein soll

Autos
ID (Primary Key) Name Modell

Fotos
ID (Primary Key) Autos_ID (Fremdschlüssel) Foto


so ungefähr soll die aussehen...da man ja zu einem auto mehrere fotos hochladen kann.. später dann halt mit einem join wieder zuordnen..aber erstmal muss ich einen fremdschlüssel erzeugen;D


wäre super nett wenn mir das jemand erklären könnte

mfg


------------------
http://sc-wiesens.de/

Der Sport Club "13 Eichen" Wiesens
Inaktiv
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 1 - 24.07.2012 um 10:19 Uhr
mysql kann keine fremdschlüssel, zumindest nicht mit dem bis 5.5 standardmäßigen myisam tabellen-treiber. dieser muss zur nutzung von fremdschlüsseln auf so etwas wie z.b. innodb umgestellt werden.

fremdschlüssel fixieren die beziehung zwischen a und b in der datenbank, sind aber nicht nötig, um in der applikation einen join oder ähnliches an die datenbank zu senden, der die daten gemeinsam nutzt. fremdschlüssel werden erst interessant, wenn ein datensatz a nicht ohne seine grundlage in b existieren darf oder ähnliches.

bei weiteren fragen dazu geb gern bescheid, werkel schon seit über 10 jahren mit mysql und anderen sql servern herum


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Rouven89
Thread-Ersteller


Going for pro




Beiträge: 539
# Antwort: 2 - 24.07.2012 um 10:58 Uhr
vielen Dank für die schnelle Antwort=) Dachte das ohne ein Fremdschlüssel der JOIN nicht funktioniert - super - klappt jetzt falls ich noch weitere Fragen habe - melde ich mich bei dir

ah eine hätte ich noch - wie wichtig ist die Angabe beim Anlegen einer Spalte , also z.B. habe ich eine Spalte "Alter" da sage ich das die vom Typ int ist, danach kann ich ja noch eine max. Größe angeben, z.B int(45) - ist das egal wie groß, oder ob ich das Ausfülle - oder beeinflusst das die Performance der Website? Das unnötig Speicher reserviert wird?

mfg


------------------
http://sc-wiesens.de/

Der Sport Club "13 Eichen" Wiesens

Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 3 - 24.07.2012 um 11:19 Uhr
je größer die angaben möglich sind umso potenziell mehr speicher wird dafür reserviert. bei der performance macht es bei den größen wohl noch keinen mega unterschied, obwohl beim alter alles über int 3 wohl schon zu viel ist, wenn dort nur das alter als zahl gesichert wird. sollte ein datum gesichert werden gibt es dafür spezielle feldtypen, oder man nimmt varchar und bastelt sich nen eigenes format. würde schon anraten die länge danach zu bestimmen, was maximal dort landen könnte / sollte, aber ist wiegesagt wohl nicht tragisch wenn man mehr erlaubt.


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Antworten: 3
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo