Switch to full style
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.
Odpowiedz

update table

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

update table

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ść.

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

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;

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
Odpowiedz