Nasze strony wykorzystują pliki cookies. Używamy cookies i podobnych m.in. w celach reklamowych i statystycznych oraz w celu dostosowania serwisów do potrzeb użytkowników. Mogą też stosować je nasi reklamodawcy, firmy badawcze oraz dostawcy aplikacji. W przeglądarce można zmienić ustawienia dotyczące cookies. Więcej informacji. Jeśli nie wyrażasz zgody, opuść tę stronę.

update table

Forum dyskusyjne poświęcone zagadnieniom związanym z tworzeniem serwisów z wykorzystaniem zaawansowanych technologii takich jak PHP, Perl, mySQL, ASP, CGI, XML, itp.

Moderator: Grupa pościgowa ;-)

update table

Postprzez oscar » 9 lutego 2005, o 19:10

Witam!

Mam dwie tabele, potrzebuję przepisać jedną kolumnę 'id' z jednej tabeli do drugiej (druga tabela nie ma pola id a musi mieć).
Pola z obu tabel mogę dopasować wartością pola varchar.
Jak powinna wyglądać kwerenda??

Pozdro, Oscar
oscar
Użytkownik forum
Użytkownik forum
 
Posty: 93
Dołączył(a): 9 lipca 2004, o 05:21

update table

Postprzez lockoom » 9 lutego 2005, o 19:35

Dodajesz ID jakoś tak:
ALTER TABLE tabela2 ADD COLUMN opis_kolumny; (szczegóły)
I potem:
UPDATE table2 SET table2.id = table1.id WHERE table1.pole_varchar = table2.pole_varchar;

Nie testowałem, ale wydaje mi się, że tą drogą powinieneś iść.
lockoom
Super spec!
Super spec!
 
Posty: 999
Dołączył(a): 30 września 2002, o 19:46

Postprzez oscar » 9 lutego 2005, o 20:10

Witam!

Do tego doszedłem i tu właśnie stop:
Wykonanie UPDATE table2 SET table2.id = table1.id WHERE table1.pole_varchar = table2.pole_varchar;
daje:
Error: Unknown table 'table1' in where clause :(

Chyba łatwiej będzie napisać skrypt PHP, do tablicy wszystko, zestawić, przepisać i do bazy...

Tylko czy warto na jedno wykonanie? Poza tym, chyba jest możliwść wykonać to w SQL?

Pozdro, Oscar
oscar
Użytkownik forum
Użytkownik forum
 
Posty: 93
Dołączył(a): 9 lipca 2004, o 05:21

Postprzez lockoom » 9 lutego 2005, o 21:07

Oczywiście, zapomniałem o:
UPDATE table1, table2 SET table2.id = table1.id WHERE table1.pole_varchar = table2.pole_varchar;
lockoom
Super spec!
Super spec!
 
Posty: 999
Dołączył(a): 30 września 2002, o 19:46

Postprzez oscar » 9 lutego 2005, o 21:26

Witam!

Niestety, może mam za "niską" wersję - 3.23 ? W każdym razie tak nie działa. Ale od czego dokumentacja :). Obszedłem to tak: nowa tabela, Insert do nowej:
INSERT INTO nowa SELECT(pole_id, pole_varchar)
FROM table1, table2
WHERE table1.pola_varchar = table2.pola_varchar

Pozdro, Oscar
oscar
Użytkownik forum
Użytkownik forum
 
Posty: 93
Dołączył(a): 9 lipca 2004, o 05:21


Powrót do PHP, Perl, SQL, CGI, XML...

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników

cron