MySql mehrere ID´s in einer Zeile!
Joy
- datenbank
0 mark chopin0 Vinzenz Mai0 Joy-1 Daniel0 Joy0 Vinzenz Mai0 Joy
MySql mehrere ID´s in einer Zeile!
Hallo leute – ich möchte in meiner MySql Datenbank im table IDleistungsberreich mehrere ID´s eingeben - muss ich die dann mit einen “;“ trennen oder geht das überhaupt nicht?
cu Joy
Du kannst in deine MySQL-Tabelle reinschreiben was du willst.
Frage ist nur: wie bekommst du den Inhalt sinnvoll wieder heraus?
Mehr als eine ID für einen Datensatz macht überhaupt kein Sinn.
Wenn, dannn nur wenn die Zahlen andere IDs repräsentieren.
UND dann kommen die in eine neue Spalte. <--Punkt
Hallo mark
Du kannst in deine MySQL-Tabelle reinschreiben was du willst.
Frage ist nur: wie bekommst du den Inhalt sinnvoll wieder heraus?
Einverstanden :-)
Mehr als eine ID für einen Datensatz macht überhaupt kein Sinn.
Nicht ganz einverstanden, es gibt auch Fremdschlüssel, es gibt zusammengesetzte Schlüssel, auch Primärschlüssel :-)
Wenn, dannn nur wenn die Zahlen andere IDs repräsentieren.
UND dann kommen die in eine neue Spalte. <--Punkt
Nicht einverstanden. Es gibt auch die Möglichkeit, dass diese in eine Zeile einer neuen Tabelle gehören (n:m-Beziehung).
Was hier sinnvoll ist, geht aus den spärlichen Informationen des OP nicht hervor.
Freundliche Grüße
Vinzenz
Hallo Joy
Hallo leute – ich möchte in meiner MySql Datenbank im table IDleistungsberreich mehrere ID´s eingeben
Warum? Was möchtest Du mit mehreren IDs bezwecken?
Eine Zuordnung zu verschiedenen Bereichen? Wenn ja, dann gehört das in eine eigene Tabelle als jeweils einzelne Zeilen.
- muss ich die dann mit einen “;“ trennen oder geht das überhaupt nicht?
Wenn Du das tun willst, dann kannst Du das mit jedem beliebigen Trennzeichen, das Dir gefällt. _Deine Anwendung_ muss diese auflösen, dem Datenbankmanagementsystem (DBMS) ist das egal; das ist auch nicht die Aufgabe des DBMS.
Dein Wunsch ist allerdings ein Zeichen dafür, dass Deine Datenbankstruktur verbesserungswürdig ist. Ein grundlegendes Prinzip relationaler Datenbanken fordert, dass Daten atomar vorliegen, also jeweils in einer Spalte einer Zeile genau ein Datum (1. Normalform). Dieses Grundprinzip möchtest Du verletzen. Ich rate Dir davon ab.
Es ist auch keine gute Idee, für jeden "Bereich", dem ein Datensatz zuzuordnen ist, eine Spalte zu definieren. Kommt ein Bereich hinzu, so benötigst Du eine weitere Spalte. Das ist nicht gut. Erstelle eine Zuordnungstabelle. Für jede weitere Zuordnung gibt es eine weitere Zeile. Das ist einfach.
Aber bitte gib' einfach an, was Du erreichen willst. Dann können wir Dir gezielter helfen.
Freundliche Grüße
Vinzenz
Hallo Joy
Hallo leute – ich möchte in meiner MySql Datenbank im table IDleistungsberreich mehrere ID´s eingeben
Warum? Was möchtest Du mit mehreren IDs bezwecken?
Eine Zuordnung zu verschiedenen Bereichen? Wenn ja, dann gehört das in eine eigene Tabelle als jeweils einzelne Zeilen.
- muss ich die dann mit einen “;“ trennen oder geht das überhaupt nicht?
Wenn Du das tun willst, dann kannst Du das mit jedem beliebigen Trennzeichen, das Dir gefällt. _Deine Anwendung_ muss diese auflösen, dem Datenbankmanagementsystem (DBMS) ist das egal; das ist auch nicht die Aufgabe des DBMS.
Dein Wunsch ist allerdings ein Zeichen dafür, dass Deine Datenbankstruktur verbesserungswürdig ist. Ein grundlegendes Prinzip relationaler Datenbanken fordert, dass Daten atomar vorliegen, also jeweils in einer Spalte einer Zeile genau ein Datum (1. Normalform). Dieses Grundprinzip möchtest Du verletzen. Ich rate Dir davon ab.
Es ist auch keine gute Idee, für jeden "Bereich", dem ein Datensatz zuzuordnen ist, eine Spalte zu definieren. Kommt ein Bereich hinzu, so benötigst Du eine weitere Spalte. Das ist nicht gut. Erstelle eine Zuordnungstabelle. Für jede weitere Zuordnung gibt es eine weitere Zeile. Das ist einfach.
Aber bitte gib' einfach an, was Du erreichen willst. Dann können wir Dir gezielter helfen.
Freundliche Grüße
Vinzenz
sorry wenn ich mich nicht klar ausgedrückt habe.#
Also das Produkt CREATIN ist für den leistungs- berreich AUSDAUER(ID1) und KRAFT(ID2)- Also dachte ich mir ob man im IDleistungsberreich ID1 + ID2 reinschreiben kann damit er es auch wieder auslesen kann in der Rubrik AUSDAUER & KRAFT - da diese eine eigene Seite bekommen wo das extra ausgelesen wird. Da ich mir das ersparen möchte für jedes Produkt die auf mehreren Leistungsbereichen zutreffen einen extra table zu erzeugen.
Puhh hoffe das ist jetzt nicht zu verwirrend.
cu Joy
Hi,
Also das Produkt CREATIN ist für den leistungs- berreich
AUSDAUER(ID1) und KRAFT(ID2)- Also dachte ich mir ob man im
IDleistungsberreich ID1 + ID2 reinschreiben kann damit er es auch
wieder auslesen kann in der Rubrik AUSDAUER & KRAFT
also ich würd machen
tabelle1:
----------------------------
| Produkt_id | Produktname |
----------------------------
tabelle2:
----------------------------
| Bereich_id | Bereichname |
----------------------------
tabelle3:
----------------------------
| Produkt_id | Bereich_ids |
----------------------------
in Bereich_ids dann die IDs der bereiche welche zutreffen mit , . oder
sonstigem trennzeichen. musst dann nurnoch richtig auslesen.
MfG
Hi,
Also das Produkt CREATIN ist für den leistungs- berreich
AUSDAUER(ID1) und KRAFT(ID2)- Also dachte ich mir ob man im
IDleistungsberreich ID1 + ID2 reinschreiben kann damit er es auch
wieder auslesen kann in der Rubrik AUSDAUER & KRAFTalso ich würd machen
tabelle1:
| Produkt_id | Produktname |
tabelle2:
| Bereich_id | Bereichname |
tabelle3:
| Produkt_id | Bereich_ids |
in Bereich_ids dann die IDs der bereiche welche zutreffen mit , . oder
sonstigem trennzeichen. musst dann nurnoch richtig auslesen.MfG
ok dann wäre ja tabelle3 die Tabelle IDleistungsberreich und alles beim alten - richtig auslesen meinst du für jeden leistungsberreich eine neue Seite? wenn ja dann ist das genauso wie ich es programmieren möchte.
Danke cu Joy
Hallo Joy
also ich würd machen
tabelle1:
| Produkt_id | Produktname |
ok
tabelle2:
| Bereich_id | Bereichname |
ok
tabelle3:
| Produkt_id | Bereich_ids |
Fast ok
tabelle3:
----------------------------
| Produkt_id | Bereich_id |
----------------------------
Für jede Zuordnung _eine_ Zeile!
1 1
1 2
in Bereich_ids dann die IDs der bereiche welche zutreffen mit , . oder
sonstigem trennzeichen. musst dann nurnoch richtig auslesen.
Nein, nicht so. Siehe meine beiden bisherigen Postings.
Das ist ein ganz schlimmer Fehler im Datenbankdesign.
ok dann wäre ja tabelle3 die Tabelle IDleistungsberreich und alles beim alten - richtig auslesen meinst du für jeden leistungsberreich eine neue Seite? wenn ja dann ist das genauso wie ich es programmieren möchte.
Bitte nicht so. Nicht mehrere IDs in eine Zelle.
Das ist die n:m-Beziehung. Tabelle 3 nehmen und für jede Zuordnung einen Datensatz (= Zeile).
Freundliche Grüße
Vinzenz
Hallo Joy
also ich würd machen
tabelle1:
| Produkt_id | Produktname |
ok
tabelle2:
| Bereich_id | Bereichname |
ok
tabelle3:
| Produkt_id | Bereich_ids |
Fast ok
tabelle3:
| Produkt_id | Bereich_id |
Für jede Zuordnung _eine_ Zeile!
1 1
1 2in Bereich_ids dann die IDs der bereiche welche zutreffen mit , . oder
sonstigem trennzeichen. musst dann nurnoch richtig auslesen.Nein, nicht so. Siehe meine beiden bisherigen Postings.
Das ist ein ganz schlimmer Fehler im Datenbankdesign.ok dann wäre ja tabelle3 die Tabelle IDleistungsberreich und alles beim alten - richtig auslesen meinst du für jeden leistungsberreich eine neue Seite? wenn ja dann ist das genauso wie ich es programmieren möchte.
Bitte nicht so. Nicht mehrere IDs in eine Zelle.
- Ein Produkt kann mehreren Bereichen zugeordnet sein.
- Für jeden Bereich kann es mehrere Produkte geben.
Das ist die n:m-Beziehung. Tabelle 3 nehmen und für jede Zuordnung einen Datensatz (= Zeile).
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
danke für die Hilfe - wollte eben jede zuordnung vermeiden - ok geht so eben nicht -
DANKE an alle
cu Joy