PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   SQL / Datenbanken (https://www.php-resource.de/forum/sql-datenbanken/)
-   -   Bei Insert einer Spalte den gleichen Wert zuweisen wie Primarykey(auto_increment) (https://www.php-resource.de/forum/sql-datenbanken/52592-bei-insert-einer-spalte-den-gleichen-wert-zuweisen-wie-primarykey-auto_increment.html)

st@tic 31-03-2005 14:24

Bei Insert einer Spalte den gleichen Wert zuweisen wie Primarykey(auto_increment)
 
Hi, ich hab ein kleines Problem wo ich keinen Lösungsansatz habe...

ich hab zwei tabellen die ungefähr so aussehen

Tabelle 1: id - datum - autor - text_id
und
Tabelle 2: id - text

so die spalte id ist der primär schlüssel und besitzt die auto inkrement eigenschaft... die text_id aus der ersten tabelle ist die id der zweiten tabelle...

die id, die text_id aus tabelle 1 und die id aus tabelle 2 sind also logischerweise immer gleich, da wenn etwas eingefügt wird beide tabellen davon betroffen sind...

meine frage ist wie kann ich bei der text_id den gleichen wert wie bei id einsetzen, da ich ihn vor dem insert ja nicht kenne... aber die nachfolgende zusammengehörigkeit anhand der text_id und der id festgestellt wird...

falls jemand ne idee hat: als her damit
und fragt mich bitte nicht wieso das so aufgebaut ist, ich wars nicht

Arni 31-03-2005 14:28

nach dem insert die id auslesen und dann hast du diese !!
:rocks:

st@tic 31-03-2005 14:31

Zitat:

Original geschrieben von Arni
nach dem insert die id auslesen und dann hast du diese !!
:rocks:

und was ist wenn mehr in der tabelle drinsteht? dann krieg ich ja alles ausgegeben :)

das einzigste was mir jetzt einfällt ist die text_id auf nen default wert zu setzen (-1 oder so) danach zu suchen dann updaten...
is aber bisschen kompliziert oder?

onemorenerd 31-03-2005 14:37

Re: Bei Insert einer Spalte den gleichen Wert zuweisen wie Primarykey(auto_increment)
 
Zitat:

Original geschrieben von st@tic
ich hab zwei tabellen die ungefähr so aussehen

Tabelle 1: id - datum - autor - text_id
Tabelle 2: id - text

so die spalte id ist der primär schlüssel und besitzt die auto inkrement eigenschaft... die text_id aus der ersten tabelle ist die id der zweiten tabelle...

die id, die text_id aus tabelle 1 und die id aus tabelle 2 sind also logischerweise immer gleich, da wenn etwas eingefügt wird beide tabellen davon betroffen sind...

Du brauchst doch text_id überhaupt nicht, wenn es immer den gleichen Wert enthält, wie Tabelle1(id) UND Tabelle2(id).
Wenn man es genau nimmt, brauchst du nur folgende Relation:
tabelle(id, datum, autor, text)

Oder hast du einen Grund für deinen Ansatz?

st@tic 31-03-2005 15:00

is nicht mein ansatz ich muss es so übernehmen...
ich habs jetzt mit 3 oder 4 sql statements gelöst... falls jemand noch einen besseren vorschlag hat als her damit *gg*

onemorenerd 31-03-2005 15:15

Wenn es denn sein muß, dann wohl am einfachsten in dem du text_id ebenfalls zu einem auto_increment machst und den Zähler auf das derzeitige Maximum setzt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:05 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG