Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] kopiowanie całej tabeli do innej tabeli
Forum PHP.pl > Forum > Przedszkole
elmozaur
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
luniak
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ą.
elmozaur
Strzał w 10. Lekko to zmodyfikuje i będzie dokładnie to o co mi chodziło.
Dziękuję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.