2010-11-18 10 views
0

Ich bin neu in der Programmierung, also verzeihen Sie meine einfachen Fragen.MySQL-Design für zugehörige IDs

Grundsätzlich habe ich zwei verschiedene Tabellen, die Daten enthalten, die miteinander verwandt sind. Ich möchte eine neue Spalte namens "id" erstellen, die Zeilen in beiden Tabellen verknüpft, so dass ich die Daten angemessen anzeigen kann.

Wenn ein Benutzer eine Aktion ausführt, wird eine Zeile in beide Tabellen eingefügt.

Welche Art von Eigenschaften sollte "id" haben? Primärschlüssel, Auto-Inkrement für beide Tabellen oder eine Tabelle? Wie stelle ich sicher, dass dieselbe ID in beide Zeilen eingefügt wird, füge ich zuerst in table1 ein, dann hole ich diese ID und füge sie in table2 ein?

Jede Hilfe wird geschätzt. Danke

+0

Beschreiben Sie das Problem, das Sie mit diesem schmutzigen Hack zu lösen versuchen. – zerkms

+2

Können Sie die beiden Tische näher erläutern? Wenn sie so eng verwandt sind, ist es möglicherweise nicht notwendig, dass sie sich zu Beginn in verschiedenen Tabellen befinden. – RDL

+0

Wenn ein Vorkommen einer Zeile in einer Tabelle nur einer Zeile in einer anderen Tabelle entspricht, kombinieren Sie stattdessen die beiden Tabellen. Sparen Sie sich den Ärger. – stillstanding

Antwort

0

Es ist etwas schwierig, Ihre Frage zu beantworten, ohne zu wissen, was die zwei Tabellen enthalten, aber ich schlage vor, dass Sie über database normalization lesen.

Unabhängig davon, wie viele Tabellen Sie haben möchten, sollte jede Tabelle eine ID-Spalte haben. Eine Möglichkeit, sich eindeutig auf eine einzelne Zeile zu beziehen, macht das Leben im Nachhinein viel einfacher, wenn Sie Änderungen an den Daten vornehmen müssen. Auto-Inkrement erspart Ihnen die Erstellung eigener eindeutiger Primärschlüsselwerte.

Verwandte Themen