Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : .



Merovinger
10.06.2007, 08:43
.

rgb
10.06.2007, 10:52
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.

raian
10.06.2007, 11:12
Definiere ThreadIdent ebenfalls als Autoincrement und PrimaryKey.
Dann dürften sie sich imemr entsprechen.

Manni
10.06.2007, 11:26
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.


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.


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)

Jesus_666
10.06.2007, 11:27
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.

Jesus_666
10.06.2007, 14:25
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?

Jesus_666
10.06.2007, 18:29
Probier's mal mit mysql_insert_id (http://www.php.net/manual/en/function.mysql-insert-id.php), bzw. der MySQL-Funktion LAST_INSERT_ID().

raian
10.06.2007, 19:58
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.

Drakes
10.06.2007, 20:24
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. ;)