Avatar billede theboy Nybegynder
10. juli 2007 - 16:54 Der er 9 kommentarer og
1 løsning

insæt data i flere tabellen i relation til hinanden

Spørgsmålet omhandler ralationdatabaser.

Jeg vil gerne vide hvordan jeg kan oprette en post i en database, hvor der ført oprette en post i en tabel hvor id er auto_increment og samtidig bruger den ID der oprettes i den forbindelse i en anden tabel.
Eksempel

Tabel1
ID (Autoincrement)
Navn

Tabel2
ID (ID'en fra Tabel1)
BY
Avatar billede arne_v Ekspert
10. juli 2007 - 16:59 #1
INSERT INTO tabel1 (navn) VALUES ('Mig')
INSERT INTO tabel2 VALUES (LAST_INSERT_ID(), 'Ingen steder')
Avatar billede theboy Nybegynder
10. juli 2007 - 17:11 #2
Hvis det utænkelige så skulle ske at 2 brugere vil arbejde på databasen samtidig.
Kan man så ikke resultate i at LAST_INSERT_ID() går på en anden ID?

Altså hvis de 2 handliger sker samtidig a la denne rækkefølde:
INSERT INTO tabel1 (navn) VALUES ('DIG') rusltat: [1,DIG]
INSERT INTO tabel1 (navn) VALUES ('Mig') resultat: [2, MIG]
INSERT INTO tabel2 VALUES (LAST_INSERT_ID(), 'Ingen steder')
INSERT INTO tabel2 VALUES (LAST_INSERT_ID(), 'Her')
Avatar billede theboy Nybegynder
10. juli 2007 - 17:12 #3
og reultater vil være:
[Ingen steder, 2]
&
[Her, 2]
Avatar billede theboy Nybegynder
10. juli 2007 - 17:21 #4
Kan det have nogt at gøre med at tabeller af typen INNODB og at skal oprette en "FOREIGN KEY"?
Avatar billede arne_v Ekspert
10. juli 2007 - 17:24 #5
LAST_INSERT_ID() er per connection

saa hvis de 2 matchende INSERT laves paa samme connection og de andre 2 matchende
igen paa dere sgen connection, saa vil det altid virke !
Avatar billede theboy Nybegynder
10. juli 2007 - 17:31 #6
Kan må såldes i samme connection/session læse den ID man har oprettet.
dvs noget a al

SELECT * FROM Tabel1 Where ID is LAST_INSERT_ID()
?
Avatar billede theboy Nybegynder
10. juli 2007 - 17:38 #7
Ahh det kan vel bare gøres med
SELECT LAST_INSERT_ID();

giv du bare et svar så sender jeg nogle point arne_v
Avatar billede arne_v Ekspert
10. juli 2007 - 17:40 #8
ja
Avatar billede arne_v Ekspert
10. juli 2007 - 17:40 #9
svar
Avatar billede theboy Nybegynder
10. juli 2007 - 18:26 #10
Og tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester