Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak wyciagnac id z wlasnie wykonanego inse
sobstel
post 12.05.2004, 11:18:51
Post #1





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


dodaje rekord do tabeli gdzie ID_1 jest kluczem glownym (wystepuje autoinkrementacja). za chwile chce dodac kolejny rekord (powiazany z tym pierwszym) do innej tabeli powiazanej relacja z tabela pierwsza poprzez ID_1. probelm jest taki ze nie znam ID_1, ktory zostal przydzielony automatycznie. jak rozwiazac ten problem? czy mozna jakos poznac ID wlasnie przydzielone przez mysqla?

np.

struktura
tabela1 : id INTEGER PRIMARY KEY, nazwisko VARCHAR(30)
tabela2 : imie VARCHAR (30), id INTEGER FOREIGN KEY

INSERT INTO tabela1(nazwisko) VALUES ('Kowalski');

i teraz chcialbym od razu dodac imie (zaznaczam, to tylko prosty przyklad, aby zobrazowac problem!!)

INSERT INTO tabela2(imie,id) VALUES ('Jan', I TU!!! SKAD TO WZIAC?questionmark.gif)


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
Kinool
post 12.05.2004, 11:26:38
Post #2





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


moze [manual:c3ec29dec0]mysql_insert_id[/manual:c3ec29dec0] coprawda to php a nie MySQL

no ale sam MySQL tez chyba ma podobna funkcje


--------------------
Go to the top of the page
+Quote Post
sobstel
post 12.05.2004, 11:28:09
Post #3





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


dokładnie o to chodziło. że też wcześniej na to nie wpadłem. dzięki!


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
Yarecki
post 12.05.2004, 14:02:37
Post #4





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 1.04.2004
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Spojrzalem do manuala i nie jestem pewny, czy mysql_insert_id zwraca id ostatniego inserta dla danego polaczenia, czy ogolnie id ostatniego wykonanego inserta.

Przykladzik, zeby wszyscy wiedzieli o czym pisze. Mamy usera a, ktory wpisuje swoje dane. Mamy usera b, ktory w tym samym czasie wpisuje swoje dane. Pytanie jest takie czy jesli user b wpisze sie zaraz po userze a to czy userowi a mysql_insert_id zwroci id jego wpisu czy usera b ?
Go to the top of the page
+Quote Post
BzikOS
post 12.05.2004, 15:01:50
Post #5





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

Ostrzeżenie: (0%)
-----


Cytat
Funkcja zwróci ID wygenerowane automatycznie przez ostatnią operację INSERT używającą podanego identyfikatora_połączenia. Jeżeli identyfikator_połączenia nie został podany, wykorzystywane jest ostatnio otwarte połączenie. [/manual]

Jeżeli nie podasz identyfikatora to po prostu z ostatniego INSERTA. A co do 2 użytkowników - przecież to są oddzielne połączenia, więc nie ma prawa zwrócić ID wygenerowane przez tego drugiego usera.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 10:21