/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Endnu et spoergsmaal om relationer i MySQL
Fra : Jonas Voss


Dato : 31-07-02 20:51

For et stykke tid siden spurgte jeg om hvorledes man lavede udtraek fra
to tabeller med en 1:M relation <m2fzyambqr.fsf@verture.net>. Jeg har
endnu ikke testet om det forslag jeg fik virkede, men det er jeg ret
sikker paa at det goer.

Jeg var dog lidt hurtig ude med spoergsmaalet, jeg skal jo foerst have
smidt noget data ind i tabellen, og det giver mig lidt hovedbrud.

Jeg har stadig to tabeller, hvor en post i den ene tabel relateres til
flere poster i den anden tabel. Mit problem er foelgende:

Lad os sige jeg har indtastet oplysninger om a i tabel 1, og oplysninger
om b i tabel 2. Nu vil jeg gerne indtaste oplysninger om c i tabel 2 der
skal relateres til a i tabel 1. Indtastningen kommer til at foregaa vha
PHP og et web-interfjaes.

Hvordan goer jeg det? Links til websites der forklarer det naermere
modtages med kyshaand. Jeg har kigget paa mysql's egne sider, men kunne
ikke finde noget der rigtig forklarede det.

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

 
 
Jeppe Vesterbæk (31-07-2002)
Kommentar
Fra : Jeppe Vesterbæk


Dato : 31-07-02 23:05

Du behøver ikke at tænke på relationer når du skal lave et insert i en
tabel. Måske har du defineret relationer mellem dine tabeller med
fremmednøgler ved oprettelsen af disse, men dette heller ikke nødvendigt. Du
indsætter altså bare den data du har i dine tabeller -- og skaber relationen
mellem disse ved dit select når du skal have fat i dataene igen.

/Jeppe



Martin Mouritzen (31-07-2002)
Kommentar
Fra : Martin Mouritzen


Dato : 31-07-02 22:54

After I finished the 3 Pan Galactic Gargle Blasters, Jonas Voss
<spamthis@verture.net> just offered me, he muttered some weird stuff,
and I had to correct this gibberish:

>Lad os sige jeg har indtastet oplysninger om a i tabel 1, og oplysninger
>om b i tabel 2. Nu vil jeg gerne indtaste oplysninger om c i tabel 2 der
>skal relateres til a i tabel 1. Indtastningen kommer til at foregaa vha
>PHP og et web-interfjaes.

Mere input ønskes.

Kan relationer kun ske fra tabel 3 til tabel 1? eller kan de ske på
tværs af de 3 tabeller?
--
Nano Martin Mouritzen Phone +45 27105580
Vesterbrogade 30C. 2. Programmer Advanced Simplicity
DK-8000 Århus martin@nano.dk http://www.nano.dk
Nano nu officiel dansk distributør af UltraEdit, se mere på websitet

Jonas Voss (31-07-2002)
Kommentar
Fra : Jonas Voss


Dato : 31-07-02 23:47

Martin Mouritzen <martin@fez.dk> writes:

> Mere input ønskes.
>
> Kan relationer kun ske fra tabel 3 til tabel 1? eller kan de ske på
> tværs af de 3 tabeller?

Jeg har kun to tabeller, og relationer kan derfor kun foregaa mellem
tabel 1 og tabel 2.

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Martin Mouritzen (01-08-2002)
Kommentar
Fra : Martin Mouritzen


Dato : 01-08-02 12:49

After I finished the 3 Pan Galactic Gargle Blasters, Jonas Voss
<spamthis@verture.net> just offered me, he muttered some weird stuff,
and I had to correct this gibberish:

>Jeg har kun to tabeller, og relationer kan derfor kun foregaa mellem
>tabel 1 og tabel 2.

Oh, jeg læste lige forkert.

well.

tabel 1
int id
(og alt andet)

tabel 2
int id
int iditabel1

hvis der kan foregå flere relationer eller det ikke nødvendigvis sker
hvergang skal du ud i en 3 tabel som ser ud som følger

int idfratabel1
int idfratabel2

Men det hører nu *kun* til i dk.edb.database, derfor sætter jeg fut
dertil.


--
Nano Martin Mouritzen Phone +45 27105580
Vesterbrogade 30C. 2. Programmer Advanced Simplicity
DK-8000 Århus martin@nano.dk http://www.nano.dk
Nano nu officiel dansk distributør af UltraEdit, se mere på websitet

Jonas Voss (01-08-2002)
Kommentar
Fra : Jonas Voss


Dato : 01-08-02 20:20

Martin Mouritzen <martin@fez.dk> writes:

> Oh, jeg læste lige forkert.
>
> well.
>
> tabel 1
> int id
> (og alt andet)
>
> tabel 2
> int id
> int iditabel1
>
> hvis der kan foregå flere relationer eller det ikke nødvendigvis sker
> hvergang skal du ud i en 3 tabel som ser ud som følger
>
> int idfratabel1
> int idfratabel2

Mange tak, men jeg har flere dumme spoergsmaal (:

Skal 'iditabel1' vaere autonumber, ligesom id i tabel 1, eller skal den
bare vaere int uden ekstra garniture?

Lad os sige jeg har indastet oplysninger om a i tabel 1, og oplysninger
om b i tabel 2. Nu vil jeg gerne indtaste oplysninger om c i tabel 2,
der skal have en relation til a i tabel 1. Hvordan goer jeg det, uden at
skrive oplysningerne om a i tabel 1 igen? Kan jeg kun goere dette ved at
skrive, id'et fra a i tabel 1 ind i 'iditabel1' i tabel 2?

Det blev vist en vaerre uforstaaelig smoere. Nogen der forstod mit
spoergsmaal?

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Ukendt (01-08-2002)
Kommentar
Fra : Ukendt


Dato : 01-08-02 16:28

On 31 Jul 2002 21:50:31 +0200, Jonas Voss <spamthis@verture.net>
wrote:

>For et stykke tid siden spurgte jeg om hvorledes man lavede udtraek fra
>to tabeller med en 1:M relation <m2fzyambqr.fsf@verture.net>. Jeg har
>endnu ikke testet om det forslag jeg fik virkede, men det er jeg ret
>sikker paa at det goer.
>
>Jeg var dog lidt hurtig ude med spoergsmaalet, jeg skal jo foerst have
>smidt noget data ind i tabellen, og det giver mig lidt hovedbrud.
>
>Jeg har stadig to tabeller, hvor en post i den ene tabel relateres til
>flere poster i den anden tabel. Mit problem er foelgende:
>
>Lad os sige jeg har indtastet oplysninger om a i tabel 1, og oplysninger
>om b i tabel 2. Nu vil jeg gerne indtaste oplysninger om c i tabel 2 der
>skal relateres til a i tabel 1. Indtastningen kommer til at foregaa vha
>PHP og et web-interfjaes.
>

Hva med INSERT INTO tabel1 VALUES('a');
$id = mysql_insert_id();
INSERT INTO tabel2 VALUES('b','$id');

?

Jonas Voss (01-08-2002)
Kommentar
Fra : Jonas Voss


Dato : 01-08-02 20:24

-Martin- <martin_aarhof(AT)hotmail.com> writes:

> On 31 Jul 2002 21:50:31 +0200, Jonas Voss <spamthis@verture.net>
> wrote:

[snip]

> >Lad os sige jeg har indtastet oplysninger om a i tabel 1, og oplysninger
> >om b i tabel 2. Nu vil jeg gerne indtaste oplysninger om c i tabel 2 der
> >skal relateres til a i tabel 1. Indtastningen kommer til at foregaa vha
> >PHP og et web-interfjaes.
> >
>
> Hva med INSERT INTO tabel1 VALUES('a');
> $id = mysql_insert_id();
> INSERT INTO tabel2 VALUES('b','$id');

Mange, mange tak, det ligner noget jeg kan bruge.

--
| Jonas @ 55.7,12.5 | <http://verture.net/> |

Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408636
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste