![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:12 |