Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czy mogą być problemy z mysql_insert_id() ??
rogrog
post
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


Witam!

Napisałem skrypt, który importuje dane z pliku tekstowego.

Polega to na tym, że najpierw należy dodać do bazy wartość do pierwszej tabeli.

[sql:1:90d16032e4]Id INT NOT NULL AUTO_INCREMENT,
Nazwa VARCHAR(255)[/sql:1:90d16032e4]

A następnie, do drugiej tabeli

[sql:1:90d16032e4]Id INT NOT NULL AUTO_INCREMENT,
Id_z_tabeli_pierwszej INT,
nazwa VARCHAR(255)[/sql:1:90d16032e4]

Chodzi o to, że dodając do drugiej tabeli rekord, skrypt potrzebuje id ostatnio wstawionego rekordu do tabeli 1

Żeby znaleźć to id wykorzystuję mysql_insert_id();
Wszystko działa OK, ale zastanawiam się, czy jeżeli inny użytkownik wykona akurat w tym momencie jakiegoś INSERTa do tej bazy, czy nie powstanie problem - użyty zostanie inny id (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Potrzebuję waszej opinii czy takie postępowanie jest bezpieczne dla prawidłowego importu i jak to zrobić bardziej niezawodnym.

Słyszałem o czymś takim jak LOCK TABLES - może to mogło by pomóc ale nie znam zasady działania i sposobu użycia.
Go to the top of the page
+Quote Post
rogrog
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


no co (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

nikt sie nie zna tutaj na bazach danych lepiej niż ja? na pewno sie znacie - bo jestescie wymiatacze, widzialem w innych postach


jezeli moje pytanie jest niezbyt zrozumiałe, napiszcie - postaram sie je bardziej wytlumaczyc
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

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


Cytat
mysql_insert_id() zwraca ID wygenerowane dla pola z własnością AUTO_INCREMENT. 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.

oczywiscie chodzi o ostatnio otwarte polaczenie w danym skrypcie...
odpowiedz na twoje pytanie brzmi nie
Go to the top of the page
+Quote Post
rogrog
post
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) uspokoiłeś mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 19:12