Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

mysql: autoincrement ausgegraut?





Frage

hiho =) ich bin etwas aus der uebung mit php/mysql... nun schreibe ich wieder an einem projekt, habe aber bei einer tabelle die id-spalte (automatische nummerierung) vergessen. es ist mir nun leider nicht moeglich diese spalte einzufuegen (zumindest nicht mit autoincrement). ist das im nachhinein nicht mehr moeglich oder ist das problem 30cm vor dem rechner? thx muab

Antwort 1 von Floooooo

Nein, das geht meines Wissens nicht. Was geht ist: Von Hand eine ID-Spalte mit Werten dazufügen, dann diese Tabelle exportieren. Tabelle in mySQL löschen, neu anlegen (mit ID :-) - und dann die alten Inhalte importieren.

Antwort 2 von Floooooo

Hallo,

ich hab mal wieder ein kleines DB-Problem, also besser: Einen Logik-Blackout :-) - ich hoffe, jemand kann mir bei einer Abfrage helfen:

Es handelt sich um eine Song-Datenbank die wie folgt aufgebaut ist:

artists: aid, artist
titles: tid, title, aid
categories: cid, category
songs: sid, tid, cid, version, time, bpm
songs_dances: sid, did
dances: did, dance
songs_favourites: fid, sid
favourites: fid, name
songs_media: sid, mid, track
media: mid, cdname (und andere attribute)

So, vielleicht noch zur Erklärung: "Herzstück" ist die SONGS-Tabelle. Hier sind die einzelnen Songs gespeichert. Ein "Titel" im engeren Sinne ist eine Kombination aus Titel (z.B. '99 Luftballons') und Interpret (z.B. Nena). Deshalb sind Titel und Interpreten in 2 andere Tables ausgelagert, und Interpret & Titel über die aid, der Titeldatensatz dann über tid mit Songs verknüpft. "Songs" wiederum können auch mehrmals denselben Titel, aber in unterschiedlichen Versionen enthalten. PK bei den Songs ist die SID. Jeder Song gehört einer Kategorie (über cid) an. So, jetzt kommen die fizzeligen Dinge: Auf manche Songs kann man tanzen (Rumba, ChaCha, usw.), und zwar 0-n Tänze. d.h.: In der Table songs_dances können n datensätze mit der sid, aber unterschiedlichen did enthalten sein. Kann man auf den Song nicht tanzen, gibt es hier auch keinen Datensatz. Im Prinzip das gleiche gilt für die CDs (Media) auf denen sich die Songs befinden: Ein Song kann auf mehreren CDs sein.
Zusätzlich kann man Favoritenlisten erstellen, und Songs diesen Listen (0-n-fach) zuordnen.

Ich brauche nun eine Abfrage, die mir sozusagen zu einem Song alles liefert: Titel, Interpret, die Attribute aus Songs selbst, dazu Tänze, Favoriten, CDs. Nachteil: wenn man z.B. auf songs.sid = songs_dances.sid prüft, dann bekäme man nur Songs, auf die man tanzen kann. Ich möchte aber eine Gesamtliste.

Wie schaffe ich das?

Ich freue mich über Vorschläge; bei Bedarf kann ich noch die verschiedenen Statements posten, die ich schon getestet habe, aber ich glaube, die sind völlig verquer (es kommt meistens ein Skalarprodukt raus, das die mySQL-DB dann nicht mehr verkraftet).

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: