Veröffentlicht 25. November 200420 j Hallo, ich hab hier eine Tabelle mit mehreren Spalten. Die erste Spalte referenziert auf eine andere Tabelle, die zweite gibt mir eine laufende Nummer. Beide Spalten zusammen sollen den Primärschlüssel bilden. Gibts es von MySQL aus eine Möglichkeit die Nummer in der zweiten Spalte automatisch in Abhängigkeit von der ersten Spalte erhöhen zu lassen. Beispiel: Tabelle A ID NAME 1 bla 2 blubb Tabelle B: ID_TAB_A LFDNR WERT 1 1 test 1 2 test 1 3 test 2 1 test 2 2 test ... [/PHP] Pro Referenz auf Tabelle A soll also die Laufende Nummer wieder bei 1 zu zählen beginnen. Geht dass irgendwie automatisch?
25. November 200420 j Hallo, soweit ich weiss gibt es sowas nicht. Das mußt Du schon zu Fuß berechnen. Frank
25. November 200420 j Gibts es von MySQL aus eine Möglichkeit die Nummer in der zweiten Spalte automatisch in Abhängigkeit von der ersten Spalte erhöhen zu lassen. In der neuesten Version gibt es zumindest eine Art, wie du das lösen kannst. Über Trigger, also SQL Kommandos, die bei einem bestimmten Ereignis ausgelöst werden. So könntest du beim Insert in die 2te Tabelle, auf die ID aus der ersten reagieren und dir einen neuen 2ten Key generieren. Support for triggers is included beginning with MySQL 5.0.2. http://dev.mysql.com/doc/mysql/en/Using_triggers.html also sowas wie: CREATE TRIGGER NeueLFDNR BEFORE INSERT ON Tabelle B -> FOR EACH ROW SET LFDNR = SELECT Max(LFDNR)+1 FROM Tabelle B Where ID_TAB_A = ID_TAB_A; Wobei natürlich noch der Bezug auf die Tabellen fehlt, hab das mit MYSQL noch nie gemacht (wie auch, gibt es ja erst in der neuesten Version, die noch Beta ist).
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.