Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsługa transakcji z poziomu PHP, LAST_INSERT_ID() coś się nie spisuje...
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Mam bazę MySQL w której dwie tabele - t1 i t2 powiązane są kluczem obcym.
Nie można dodać rekordu do tabeli t2, jeśli nie ma powiązanego z nim rekordu
w t1.

Wykonuję na bazie MySQL następujace operacje:
  1. <?php
  2.  
  3. $Operacja1 = &#092;"BEGIN;\";
  4. $Operacja2 = &#092;"INSERT INTO t1 (Pole) VALUES (5);\";
  5. $Operacja3 = &#092;"INSERT INTO t2 (Pole) VALUES (LAST_INSERT_ID());\";
  6.  
  7. $Wykonaj1 = mysql_query($Operacja1);
  8. $Wykonaj2 = mysql_query($Operacja2);
  9. $Wykonaj3 = mysql_query($Operacja3);
  10.  
  11. ?>


Dlaczego te operacje mogę przeprowadzić kolejno wpisując w konsoli mysql, a
w skypcie już nie? Otrzymuję komunikat:

"Cannot add a child row: a foreign key constraint fails"

A przecież LAST_INSERT_ID() wyraźnie wskazuje, jaką wartość należy wstawić!

questionmark.gif?
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 07:13