Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Update tabeli z innej + wstawienie stałych danych
4Axis
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


Witam.
Mam dwie tabele

tab1
----------------------------
id_Prod | id_Tag | opias |
-----------------------------
1 | 1 | Kula |
-----------------------------
2 | 1 | Kula |
-----------------------------

tab2
---------
id_Prod |
---------
7 |
---------
8 |
---------
12 |
---------
17 |
---------
22 |
---------
77 |
---------

Chciałbym uaktualnić tab1 tak, żeby dodało pozycje z tab2 id_Prod do tab1 i uzupełniło wszystkie id_Prod o id_Tag = 1 i opis = Kula.

Będę wdzięczny za każdą rzeczową podpowiedź.
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




Jesli chodzi o z wykle skopiowanie rekordow z tabeli2 to tabeli 1 to
insert into.....select - patrz manual mysql
Go to the top of the page
+Quote Post
4Axis
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


Próbowałem, ale mi nie wchodzi, chyba muszę od razu podać pozostałe parametry czyli id_Tag i opis bo id_Tag jest połączony z inną tabelą.
  1. INSERT INTO `tab1` (`id_Prod`)
  2. SELECT `id_Prod` FROM `tab2`;

Błąd:
#1452 - Cannot add or update a child row: a foreign key constraint fails...
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




no tak, w insert masz wyszczegolnic pozostale kolumny a w select masz te wartosci dla tych kolumn podac
Go to the top of the page
+Quote Post
4Axis
post
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


(IMG:style_emoticons/default/sad.gif) domyślam się tylko nie mam pojęcia jak połączyć SELECT dla jednej kolumny ze określoną stałą wartością dla pozostałych. Powalczę z tematem (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




INSERT INTO `tab1` (`id_Prod`,`InnaKolumna`)
SELECT `id_Prod`,'Stala wartosc tekstowa dla kolumny' FROM `tab2`;
Go to the top of the page
+Quote Post
4Axis
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


Dziękuję za pomoc. Poszło jednak nie bez problemów. Tabela z indexami i relacjami, na razie tego nie ogarniam (IMG:style_emoticons/default/sad.gif) .
Na szybko pousuwałem wszystkie indexy i relacje natępnie wykonałem INSERT INTO * SELECT * i ponownie nadałem indexy i relacje (IMG:style_emoticons/default/facepalmxd.gif)
Po tej operacji niby jest ok, ale (IMG:style_emoticons/default/smile.gif) :
duplikuję mi się wpisy z `id_Prod`. Jeżeli miałem w `tab1`.`id_Prod` wartość 1 i tą samą w `tab2`.`id_Prod` to po wykonaniu w tab1 mam 2 rekordy z wartością 1. Czy można temu zaradzić?
Go to the top of the page
+Quote Post

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: 24.08.2025 - 14:43