• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kopiowanie wartości z jednej tabeli do drugiej

Cloud VPS
+1 głos
580 wizyt
pytanie zadane 25 sierpnia 2020 w SQL, bazy danych przez Rashi Nowicjusz (230 p.)

Cześć! Zaczęłam bawić się bazami danych i natrafiłam na pewien problem.

Otóż mam trzy tabele tabele: 

1. users, gdzie kolumnami sa id, login,haslo,email (klucz główny to id)

2. incomes_category_assigned_to_users, gdzie kolumnami jest id, user_id, name (id to klucz główny a user_id obcy)

3. incomes_category_default, gdzie kolumnami jest id oraz name (id jest kluczem głównym)

Teraz chciałabym przekopiować kolumnę name z incomes_category_default do kolumny name z incomes_category_assigned_to_users

wpisuje sobie takie zapytanie: 

Insert Into incomes_category_assigned_to_users (user_id, name) Select 1,name From incomes_category_default

To dostaje taką tabele:

Natomiast kiedy wpisze drugi raz to samo zapytanie dostaje taka tabelę:

Jak widać nie inkrementuje tego jak należy i nie bardzo wiem dlaczego. Bardzo będę wdzięczna za jakąkolwiek wskazówkę co zrobić by ten problem rozwiązać! Pozdrawiam!

 

komentarz 25 sierpnia 2020 przez Igorek Mądrala (6,290 p.)
Pomógł bym ci tylko mam pytanie:

Czy można do tego użyc jakiegoś języka? Mam na myśli np. php, czy w którym robisz tą strone lub aplikacje? Bo jeśli tak to może pomoge

A podrugie chciałbym podkreślić że w jednym zapytaniu możesz użyć tylko jedno,

czyli nie możesz w jednym zapytaniu dać dwóch, jak w tym przykładzie INSERT INTO i SELECT
komentarz 25 sierpnia 2020 przez Rashi Nowicjusz (230 p.)
Szczerze mówiąc będę robiła to w php ale najpierw chciałam zobaczyć jak to będzie wyglądało na samych tabelach.
komentarz 25 sierpnia 2020 przez Igorek Mądrala (6,290 p.)

to coś po próbuje i dam znac

komentarz 25 sierpnia 2020 przez Igorek Mądrala (6,290 p.)

@Rashi a to ma być coś takiego że wszystkie rekordy name w tabeli incomes_category_assigned_to_users mają być zaaktualizowane na rekordy name z tabeli incomes_category_default? Czyli inne rekordy w tej tablicy mają być nie tykane

I tak w ogóle ja to napisze w php ale jak będziesz chciała to może pomyśle jak to zrobić w samym sql (ale nwm czy sie da)

komentarz 25 sierpnia 2020 przez Rashi Nowicjusz (230 p.)

Ma być tak, że jeśli zarejestruje nowego użytkownika to automatycznie z tabeli incomes_category_default maja być przekopiowane wartości name do tabeli incomes_category_assigned_to_users

3 odpowiedzi

+1 głos
odpowiedź 26 sierpnia 2020 przez VBService Ekspert (256,600 p.)
edycja 26 sierpnia 2020 przez VBService
 
Najlepsza

Do wyczyszczenia tabeli użyj:

TRUNCATE TABLE `incomes_category_assigned_to_users`

This bug was reported long ago (2007) with mysql 5.0, but i am still facing same issue with mysql 5.6. I have followed this post which first gave some insight for this problem.

A tu lekarstwo na to, trochę na "rympała" (dirty code), ale działa. angel

INSERT INTO incomes_category_assigned_to_users (user_id, name) SELECT 1 AS user_id, name FROM incomes_category_default;
SET @max_id = (SELECT MAX(id) FROM incomes_category_assigned_to_users) + 1;
#SELECT @max_id;
SET @sql = CONCAT('ALTER TABLE `incomes_category_assigned_to_users` AUTO_INCREMENT = ', @max_id);
PREPARE stmt FROM @sql;
EXECUTE stmt;

Set AUTO_INCREMENT value through variable in MySql ]
MySQL prepared statement ]

1
komentarz 26 sierpnia 2020 przez Rashi Nowicjusz (230 p.)
Dziękuję to polecenie zadziałało.
0 głosów
odpowiedź 25 sierpnia 2020 przez Wiciorny Ekspert (281,390 p.)
Drugie zapytanie uderza już do uprzednio zmienionej przez ciebie tabeli poprzez inserta, a nie do tej której  wykonywałeś 1-sze zapytanie
0 głosów

Podobne pytania

0 głosów
3 odpowiedzi 3,588 wizyt
0 głosów
1 odpowiedź 1,039 wizyt
pytanie zadane 3 listopada 2022 w C# przez JoannS Początkujący (250 p.)
–3 głosów
2 odpowiedzi 357 wizyt

93,453 zapytań

142,448 odpowiedzi

322,717 komentarzy

62,831 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...