![]() |
![]() ![]() |
![]() |
![]()
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ź. |
|
|
![]()
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 |
|
|
![]()
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ą.
Błąd: #1452 - Cannot add or update a child row: a foreign key constraint fails... |
|
|
![]()
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
|
|
|
![]()
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)
|
|
|
![]()
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`; |
|
|
![]()
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ć? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 14:43 |