Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak symulować sekwencje
prond
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Mam pytanie do MySQL'owców : czy można w jakikolwiek sposób emulować sekwencje w MySQL ?

Chciałbym móc wykonywać zapytania następującej postaci:
  1. BEGIN;
  2.  
  3. INSERT INTO master (id, created)
  4. VALUES (master_seq.NEXTVAL, SYSDATE) ;
  5.  
  6. INSERT INTO detail (master_id, title)
  7. VALUES (master_seq.currval, 'Johny') ;
  8.  
  9. INSERT INTO detail (master_id, title)
  10. VALUES (master_seq.currval, 'Tonny') ;
  11.  
  12. INSERT INTO detail (master_id, title)
  13. VALUES (master_seq.currval, 'Ronnie') ;
  14.  
  15. COMMIT;


Próbowałem wykorzystać funkcję LAST_INSERT_ID(), ale ona ma ograniczony zasięg (nie mogę przy jej użyciu pobrać bieżącej wartości sekwencji tabeli 'master' wstawiając wiersz do tabeli 'detail').

Ten post edytował prond 15.02.2007, 09:51:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@prond nie ustawiles dla tabeli master pola ID jako autoincrement i on ci zera powstawial.

@bendi ale przeciez last_insert_id zwraca id ostatnio dodanego rekordu, a prond dla 3 ostatnich insertow chce miec id z pierwszego inserta
A twoj drugi sposob z dodatkowa tabela jak na moj gust jest zdecydowanie dluzszy i mniej przyjazny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
bendi
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Cytat(nospor @ 15.02.2007, 12:53:05 ) *
@bendi ale przeciez last_insert_id zwraca id ostatnio dodanego rekordu, a prond dla 3 ostatnich insertow chce miec id z pierwszego inserta

Fakt moj blad - nie doczytalem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Cytat(nospor @ 15.02.2007, 12:53:05 ) *
A twoj drugi sposob z dodatkowa tabela jak na moj gust jest zdecydowanie dluzszy i mniej przyjazny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A ja wcale nie twierdze, ze jest lepszy, po prostu lubie dawac ludziom duzo opcji do wyboru (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 13:44