Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kopiranje kolona iz tabele u tabelu

[es] :: MySQL :: Kopiranje kolona iz tabele u tabelu

[ Pregleda: 3882 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brainbuger

Član broj: 9647
Poruke: 440
80.93.236.*



+52 Profil

icon Kopiranje kolona iz tabele u tabelu17.11.2006. u 12:49 - pre 212 meseci
Imam 2 tabele: A i B. Obe imaju veliki broj kolona.

Pokusavam da pronadjem SQL kojim bih mogao da prekopiram kolone iz tabele A u tabelu B
(to jest samo one kolone iz tabele A koje ne postoje u tabeli B ).

Probao sam sa nekim alatima kao sto je PhpMyAdmin ali koliko vidim nema mogucnost kopiranja/pomeranja kolona.








 
Odgovor na temu

01011011

Član broj: 561
Poruke: 2341
216.5.82.*



+2 Profil

icon Re: Kopiranje kolona iz tabele u tabelu17.11.2006. u 15:53 - pre 212 meseci
daj strukturu kolona i da li su kolone jednake, koji je razlog da imas dve tabele identicne.

Ukoliko hoces da npr table 1

tabela 1

id
polje1
polje2


tabla 2

id
polje3


e sad ako hoces da samo prebacis cijelo polje2 npr iz jedne tabele u drugu, onda je to druga stvar, mora da napravis skriptu

Ono alter table2 insert ffield bla bla bla

prvo ubacis dodatno polje u table 2 i onda update table2 set polje2 = (select polje2 from table1 where table1.id = table2.id)

tako nesto...
 
Odgovor na temu

brainbuger

Član broj: 9647
Poruke: 440
80.93.236.*



+52 Profil

icon Re: Kopiranje kolona iz tabele u tabelu20.11.2006. u 16:20 - pre 212 meseci
Evo ako uzmemo postavku koju si ti dao:
<tabela 1>
id
polje1
polje2

<tabla 2>
id
polje3

Ono sto me buni je da li ima nacina da SQL-om proverim da li 'tabela1' ima sve kolone koje postoje u 'tabeli2', sto bi u ovom slucaju znacilo da u tabeli1 ne dostaje kolona 'polje3' pa bi je trebalo automatski insertovati i postaviti isti tip podatka (VARCHAR, TEXT, INT...).
Imam par baza sa poprilicno dosta tabela (preko 70) cije strukture treba izjednaciti i to samo u jednom smeru. Nije mi problem prenosenje podataka iz polja vec samo struktura i definicije polja. Uostalom, ako nista, napisacu neku php skripticu...

 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
*.32.eunet.yu.



+80 Profil

icon Re: Kopiranje kolona iz tabele u tabelu22.11.2006. u 22:07 - pre 212 meseci
Verujem da nemaš potrebu za PHPom. Pročačkaj po metabazi (baza information_schema), tamo imaš sve podatke o strukturi koji te zanimaju. Vidi recimo tabele tables i columns. SQL skript nad metabazom bi morao da reši tvoj problem.
it works on my machine
 
Odgovor na temu

brainbuger

Član broj: 9647
Poruke: 440
*.vdial.verat.net.



+52 Profil

icon Re: Kopiranje kolona iz tabele u tabelu25.11.2006. u 00:45 - pre 212 meseci
Citat:
zmau: SQL skript nad metabazom bi morao da reši tvoj problem.

Tesko. Barem ne na mojoj 4.x verziji, jer koliko vidim INFORMATION_SCHEMA je uvedena tek sa verzijom MySQL-a 5.x, tako da od tog posla nista. Inace (odlicna ideja) za uzimanje podataka o tabelama. Iz nje se moze doci do svakog podatka o tabeli, koloni,polju itd. Mada, koliko sam uspeo da procitam mysql dozvalja samo gledanje tabela unutar INFORMATION_SCHEMA, upis ili brisanje nisu dozvoljeni, sto je mozda na kraju krajeva i sasvim razumljivo.

Sve u svemu , začin 'C'...... to jest, stari dobri php je vec odradio stvar :)
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Kopiranje kolona iz tabele u tabelu26.11.2006. u 01:28 - pre 211 meseci
I ja imam slican problem. Da ne otvaram novu temu, pa cu se nadovezati.
Ovako. Imam dve potpuno identicne tabele, jedna je na udaljenom serveru druga je na localhost. Znaci kolone su iste a redove treba da preuzmem od tabele na udaljenom serveru i da ih postavim na lokalni. Za to treba da napravim cron koji ce na svaki 1 cas prebacivati sadrzaj tabele. Moje pitanje je kako to najbolje uraditi. Dali prvo truncate table pa posle nesto kao foreach da ubacujem redove, ili postoji neki bolji i brzi nacin. Na primer da se prekopira cela tabela.
 
Odgovor na temu

brainbuger

Član broj: 9647
Poruke: 440
80.93.236.*



+52 Profil

icon Re: Kopiranje kolona iz tabele u tabelu26.11.2006. u 19:04 - pre 211 meseci
Meni je bilo bitno da postupak izjednacavanja bude siguran i ispravno uradjen, brzina mi nije bila bitna jer to ne radim toliko cesto.
Koristeci recimo php, pokupis prvo sve nazive tabela u prvi niz (sa recimo SHOW TABLES), a onda za svaku od tabela pokupis sve nazive i definicije polja i smestis ih u drugi niz, koristeci :
mysql_fetch_field() i mysql_field_type()
Konektujes se na drugu bazu (na onu koja ce primiti izmene) i foreach ili for petljom redom proveravas da li postoji tabela sa odredjenim nazivom (iz prvog niza), ako postoji ulazi se u podpetlju koja proverava da li postoje sve kolone u toj tabeli, ako neka ne postoji, radis ALTER koristeci naziv i definicije koje si ranije smestio u drugi niz. Ovo bi bilo neko jednosmerno resenje kada u bazi koja prima podatke vec postoje neke tabele ali nedostaju neke kolone.
Ako prenosis i redove, onda ono sto je Nikola rekao: update table2 set polje2 = (select polje2 from table1 where table1.id = table2.id), naravno posto su 2 baze onda nazivi tabela moraju biti u formatu db1.table1, db2.table1, itd.




[Ovu poruku je menjao brainbuger dana 26.11.2006. u 20:18 GMT+1]
 
Odgovor na temu

[es] :: MySQL :: Kopiranje kolona iz tabele u tabelu

[ Pregleda: 3882 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.