Ergebnis 1 bis 9 von 9

Thema: In der Tabelle IDs neu ordnen

  1. #1
    Erfahrener Benutzer Avatar von FlexMax
    Registriert seit
    22.04.2007
    Beiträge
    167

    In der Tabelle IDs neu ordnen

    Hallo,

    Ist es möglich einer Spalte der Tabelle (zb. vms_linker) die IDs neu anzuordnen.
    Weil mit der Zeit entstehen ja Löcher (zb. ID -> 1,2,3,6,8,9,15) wenn sich zb. User löschen oder ähnliches.

    Im Prinzip wäre das ja egal, aaaaber wenn es jetzt zb. um eine Auszahlungsspalte geht, wo der User dann sieht (Nach 2000 Auszahlungen bin ich dran) wann er dran ist, ist das ergebniss mit der zeit ja dann verfälscht.

    Kann man da was machen?

    Liebe Grüsse
    Markus

    (PHPMyAdmin)

  2. #2
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    und die reflinks der user ändern sich dan auch ???
    denke ich freut deine user nicht so einfach die buchungen der uid rausnehemn die gelöscht sind

    Denkstütze:

    DELETE (table) WEHRE uid = 'uid'
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  3. #3
    Erfahrener Benutzer Avatar von FlexMax
    Registriert seit
    22.04.2007
    Beiträge
    167
    Zitat Zitat von Joschi Beitrag anzeigen
    und die reflinks der user ändern sich dan auch ???
    denke ich freut deine user nicht so einfach die buchungen der uid rausnehemn die gelöscht sind

    Denkstütze:

    DELETE (table) WEHRE uid = 'uid'
    Nein Nein, Ich meinte nicht die Userspalte sodass sich ihre ID ändern würde.

    Ich meinte...
    User 1:hat AuszahlungsID 1000 und 1008.
    User 2:hat AuszahlungsID 1004,1007 und 1009.
    1002,1003,1006 fehlen.

    Jetzt würde user 2 laut statistika sehe das er zur auszahlung an 4ter stelle steht.
    Das ist aber nicht richtig, da er ja schon an zweiter stelle steht (1002 und 1003 fehlen ja)

    Natürlich desto grösser das ganz desto schlimmer werden auch die Löcher.

    Also wäre toll wenn ihr wüsstet wie das ginge.

    Liebe Grüsse
    Markus

  4. #4
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    wie kommt es denn zu einer löschung von 1002 und 1003 beispielsweise?

    also klar gibt es lösungen dafür, aber im normalfall sollte man nie increment ids verändern.

    mir würde jetzt spontan einfallen, dass du ne abfrage machst (beispiel für user 2) dass du schaust welche ids KLEINER als seine id 1002 ist und diese dann zählst (entweder per mysql oder php).so würdeste zumindestens an die zahl kommen, an welcher stelle er sich befindet.

  5. #5
    Erfahrener Benutzer Avatar von FlexMax
    Registriert seit
    22.04.2007
    Beiträge
    167
    Zitat Zitat von eRaaaa Beitrag anzeigen
    wie kommt es denn zu einer löschung von 1002 und 1003 beispielsweise?
    Beispielsweise Löschung, Sperrung bei Klamm.de, Löschung wegen verstoss gegen AGB meinerseits, Inaktivität, usw.

    Zitat Zitat von eRaaaa Beitrag anzeigen
    also klar gibt es lösungen dafür, aber im normalfall sollte man nie increment ids verändern.

    mir würde jetzt spontan einfallen, dass du ne abfrage machst (beispiel für user 2) dass du schaust welche ids KLEINER als seine id 1002 ist und diese dann zählst (entweder per mysql oder php).so würdeste zumindestens an die zahl kommen, an welcher stelle er sich befindet.
    Aber 100 User nachziehen, weil paar ausfallen wäre heftig.
    Also einfache Lösung gibts da keine, wie ich sehe...

    Naja, habs nur gut gemeint für die User, damit Sie auch wirklich sehen wann Sie dran sind.

    Liebe Grüsse
    Markus

  6. #6
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    hm du hast doch sicher ne auslese aus der db

    die in etwa so aussehen sollte

    select SUM(*) from VMS_Auszahlung

    da fügst du halt n Left Join dran und liest die uid aus und machst dan
    ne abfrage ob die uids existieren
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  7. #7
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    Zitat Zitat von Joschi Beitrag anzeigen
    hm du hast doch sicher ne auslese aus der db

    die in etwa so aussehen sollte

    select SUM(*) from VMS_Auszahlung

    da fügst du halt n Left Join dran und liest die uid aus und machst dan
    ne abfrage ob die uids existieren
    sum(*) ? , aggregatfunktion mit left join? geht sowas ? bzw wie kommt er dann an die auszahlungsstelle?

  8. #8
    Erfahrener Benutzer Avatar von FlexMax
    Registriert seit
    22.04.2007
    Beiträge
    167
    Hallo,

    Also sum(*) geht definitiv wie auch count(*) aber mit Left muss ich mal testen.
    Wenn er die einfach "überlesen" würde die "Löcher" wäre das natürlich super.

    Liebe Grüsse
    Markus

  9. #9
    Zitat Zitat von FlexMax Beitrag anzeigen
    Wenn er die einfach "überlesen" würde die "Löcher" wäre das natürlich super.
    Tut er

    Nach der Art:

    Code:
    SELECT COUNT(*) FROM vms_auszahlungen_doppler d LEFT JOIN vms_kontodaten k ON k.uid=d.uid WHERE k.uid IS NOT NULL AND d.id > $eigeneID
    so in etwa


Ähnliche Themen

  1. Tabelle Gebuchte_Werbung
    Von wowfreak im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 11.05.2012, 21:48
  2. [SQL] Spalte von Tabelle A in Tabelle B kopieren
    Von danny888 im Forum [HD] Programmieren
    Antworten: 3
    Letzter Beitrag: 14.02.2010, 17:20
  3. Tabelle verbreitern
    Von deniz im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 21.02.2009, 12:54
  4. Tabelle in Post
    Von Hardy im Forum Support zum VMSone
    Antworten: 5
    Letzter Beitrag: 09.01.2009, 18:34
  5. SQL-Tabelle reparieren aber wie?
    Von lanecki im Forum [HD] Programmieren
    Antworten: 5
    Letzter Beitrag: 30.10.2008, 16:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •