Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] przenoszenie danych, z rozdzieleniem na kilka wierszy
Slay
post 25.06.2013, 08:14:01
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.06.2013

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


Witam, zastanawiam się jak zrobić kopiowanie danych z jednej tabeli do drugiej... problem zaraz wam opisze.

Mam 2 tabele:
1. tabela_A
2. tabela_B

tabela_A jest pusta i to do niej będę przenosił dane z tabela_B

struktura tabela_A wygląda tak:
id (z zaznaczonym AUTO_INCREMENT od 1)
id_firma
id_prudukt


struktura tabela_B wygląda tak:
id_A
id_B
id_C
id_D

Moje pytanie brzmi jak przenieść dane z takiej tabeli:

tabela_B
==================
| id_A | id_B | id_C | id_D
==================
| 1 | a | b | c
| 2 | d | e | f
| 3 | g | h | i
==================

tabela_A
==================
| id | id_firma | id_produkt
==================
| | 1 | a
| | 1 | b
| | 1 | c
| | 2 | d
| | 2 | e
| | 2 | f
| | 3 | g
| | 3 | h
| | 3 | i
==================
w kolumnie id jest jak pisałem auto_increment, czy jest możliwośc aby wraz z dodawanymi danymi z tabela_B rosło id automatycznie?

Czy ma ktoś pomysł jak to przenieść?
Go to the top of the page
+Quote Post
poli25
post 25.06.2013, 08:33:31
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


Rozwiazanei wydaje się nie być tak trudne wystarczy zrobic petle zeby wykonywała sie 3 razy dla kazdego inserta.
Go to the top of the page
+Quote Post
mmmmmmm
post 25.06.2013, 09:18:36
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. SELECT id_A, id_B FROM tabela_B WHERE id_B IS NOT NULL
  2. UNION ALL
  3. SELECT id_A, id_C FROM tabela_B WHERE id_C IS NOT NULL
  4. UNION ALL
  5. SELECT id_A, id_D FROM tabela_B WHERE id_D IS NOT NULL
Go to the top of the page
+Quote Post
Slay
post 25.06.2013, 10:50:26
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.06.2013

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


Dziekuję faktycznie było to proste jak już to zrobiłem z waszą pomocą smile.gif

Może komuś się przyda na przyszłość:

  1.  
  2. INSERT INTO tabela_A (id_firma, id_produkt)
  3. SELECT id_A, id_B FROM tabela_B WHERE id_B IS NOT NULL
  4. UNION ALL
  5. SELECT id_A, id_C FROM tabela_B WHERE id_C IS NOT NULL
  6. UNION ALL
  7. SELECT id_A, id_D FROM tabela_B WHERE id_D IS NOT NULL
  8.  


pozdrawiam i dzięki za szybką i rzeczową pomoc smile.gif
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: 16.07.2025 - 12:30