Ergebnis 1 bis 9 von 9

Thema: .

  1. #1

    .

    .

    Geändert von Merovinger (03.07.2021 um 09:58 Uhr)

  2. #2
    Was soll der Nutzen davon sein? Kannst doch für alles einfach das ID Feld benutzen, wenn da eh in beiden Feldern das selbe steht.
    Ansonsten verwende doch beim Eintragen in die Tabelle für ThreadIdent den gleichen Befehl wie für ID.

  3. #3
    Definiere ThreadIdent ebenfalls als Autoincrement und PrimaryKey.
    Dann dürften sie sich imemr entsprechen.

  4. #4
    Zitat Zitat von Merovinger Beitrag anzeigen
    also ich 2 splaten:
    ID INT AUTO_INCREMENT PRIMARY KEY
    ThreadIdent VARCHAR(100)

    ich möchte gern das was in ID eingetrgen wird auch in Threadident haben.
    würde das vllt so gehn?:
    SET
    ThreadIdent = ID

    thx mfg merovinger
    Setz ThreadIdent einfach auch auf auto_increment. Ansonsten koenntest du versuchen, als Wert `ID` einzutragen.

    Zitat Zitat von rgb Beitrag anzeigen
    Was soll der Nutzen davon sein? Kannst doch für alles einfach das ID Feld benutzen, wenn da eh in beiden Feldern das selbe steht.
    Ansonsten verwende doch beim Eintragen in die Tabelle für ThreadIdent den gleichen Befehl wie für ID.
    Das kann schon einen Sinn haben, denn moeglicherweise wird ThreadIdent nachtraeglich irgendwann geändert und hat nur als Anfangswert die ID.

    Zitat Zitat von raian Beitrag anzeigen
    Definiere ThreadIdent ebenfalls als Autoincrement und PrimaryKey.
    Dann dürften sie sich imemr entsprechen.
    Wenn ich mich nicht irre, darf es nur einen PRIMARY KEY pro Tabelle geben (Das ist ja gerade der Sinn eines PRIMARY KEYs)

  5. #5
    Falls du eine auf InnoDB oder MaxDB basierende MySQL-Tabellle oder eine Datenbank in einem mächtigeren System wie Postgres hast, könntest du beide Werte auf unterschiedliche Tabellen aufteilen und über Referenzen arbeiten. Sprich: Du läßt ThreadIdent ein Fremdschlüssel sein und gibst über ON UPDATE CASCADE alle Änderungen an ID an diesen weiter.

    Ich würde aber dazu raten, ThreadIdent einfach rauszuschmeißen - es macht keinen Sinn, Informationen doppelt in einer Tabelle abzulegen.

    Es wäre auf jeden Fall interessant, die Designentscheidung hinter der Sache zu kennen.


    PS: Mir ist gerade eingefallen, daß Fremdschlüssel auch in der eigenen Tabelle liegen können.

    Geändert von Jesus_666 (10.06.2007 um 11:31 Uhr)

  6. #6
    Ah, jetzt komme ich langsam dahinter, was du eigentlich willst.

    Warum kannst du im Anfangspost die Thread-ID nicht einfügen? Kannst du nicht erst die ID erzeugen und dann den Post eintragen?

  7. #7
    Probier's mal mit mysql_insert_id, bzw. der MySQL-Funktion LAST_INSERT_ID().

    Geändert von Jesus_666 (10.06.2007 um 18:33 Uhr)

  8. #8
    Nen kleines Beispiel:
    INSERT INTO `forum` (`id`, `threadident`) VALUES ('2', `id`)

    Wird in beiden Spalten eine 2 stehen lassen. '' steht für Werte. `` steht für Spalten. Also sind `` sogesehen Referenzen auf bestimmte Spalten.

  9. #9
    Zitat Zitat von raian Beitrag anzeigen
    Nen kleines Beispiel:
    INSERT INTO `forum` (`id`, `threadident`) VALUES ('2', `id`)

    Wird in beiden Spalten eine 2 stehen lassen. '' steht für Werte. `` steht für Spalten. Also sind `` sogesehen Referenzen auf bestimmte Spalten.
    Eigentlich sind die `` nur dazu da, dich vor Fehlern wegen Schlüsselwörtern zu bewahren.

Berechtigungen

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