Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] kopiowanie całej tabeli do innej tabeli
elmozaur
post 26.12.2015, 10:36:20
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


Witajcie jest taki problem.
Mam w bazie 2 identyczne tabelki "magazyn" i "sklep".
W adminie wywołuje funkcje synch która w pętli while pobiera wiersze z "magazyn" i robi inserty do sklep.
Rozwiazanie generalnie działa ale wydaje się mało eleganckie.

Pytanie: czy istnieje coś takiego (wymyślam teraz) że jeśli w bazie zrobię insert to wykona się triger który na poziomie samej bazy skopiuje tabele 1:1 do innej ? Poprostu aby nie używać phpa do zwykłego kopiowania. Przy małej ilości wpisów pętla szybko skopiuje tabele do tabeli ale jak jest dużo wpisów to system do czasu wykonania zadania lekko się "zawiesza".

Inne podejście: czy można jakoś to zadanie podzielić na części i wykonać ajaxem ?

Za jakakolwiek podpowiedź z góry dziękuję i pozdrawiam
Grzegorz
Go to the top of the page
+Quote Post
luniak
post 26.12.2015, 13:47:31
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Najłatwiej będzie dodać sobie trigger [zakładam że chodzi Ci tylko o dodawanie wpisów]

  1. DELIMITER $$
  2. CREATE TRIGGER `dodaj_wpis` AFTER INSERT ON `magazyn`
  3. FOR EACH ROW
  4. BEGIN
  5. INSERT INTO sklep VALUES(NEW.id, NEW.nazwa, NEW.test);
  6. END $$
  7. DELIMITER ;
  8.  


Jeżeli będziesz chciał żeby działało też dla update i delete musisz sobie analogiczne triggery dodać.

PS: oczywiście musisz sobie zmienić treść inserta: "INSERT INTO sklep VALUES(NEW.id, NEW.nazwa, NEW.test);" aby "NEW.nazwa_pola" zgadzały się z Twoją bazą.


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
elmozaur
post 26.12.2015, 19:30:06
Post #3





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


Strzał w 10. Lekko to zmodyfikuje i będzie dokładnie to o co mi chodziło.
Dziękuję.
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: 18.06.2025 - 18:53