[ gogi100 @ 01.11.2007. 21:47 ] @
| imam na serveru mysql bazu sa jednom tabelom. Imam mali programcic koji vrsi transfer podataka u tu bazu. Polja u toj tabeli su ime, prezime, ulica, broj, broj telefona. Utvrdio sam da je ova tabela presiroka dakle sadrzi i podatke koji mi nisu potrebni,kao na primer lica bez telefona. Dakle meni su potrebna samo lica sa telefonima. Inace podaci u bazu se stalno azuriraju tim malim programcicem za transfer. Dakle pitanje je sta uciniti da bih imao samo tabelu koja sadrzi lica sa brojevima telefona? Dali se moze u mysql praviti nova tabela pa iz stare izvuci samo lica koja imaju brojeve telefona.Moze mali primer? Inace ova baza se koristi samo za pretragu preko forme i php-a
Hvala |
[ vilyu @ 03.11.2007. 09:39 ] @
Prvo sto mi je palo na pamet je da ces, tokom koriscenja baze, doci u situaciju da i licima bez telefona uneses broj, pa onda nece biti potrebe za razdvajanjem tih podataka. No, ako ipak zelis da nastavis, sintaksa bi otprilike glasila:
INSERT INTO nova_tabela (ime, prezime, ulica, broj, broj_telefona)
SELECT ime, prezime, ulica, broj, broj_telefona FROM stara_tabela
WHERE broj_telefona IS NOT NULL
E sad, uslov da je broj razlicit od NULL mozes da koristis samo ako ti je to polje u bazi zaista NULL za redove koji nemaju broj. U suprotnom mozes da koristis recimo WHERE LENGTH(broj_telefona) > 5, ili sl.
[ Cpu x9 @ 03.11.2007. 17:26 ] @
Zasto duplati bazu podataka bezveze? Mozda bi bilo bolje da jednostavno napravis da prilikom vadenja iz baze podataka vadi samo one redove koji imaju broj telefona. To mozes ovako:
SELECT * FROM stara_tabela WHERE broj_telefona != ''
i sada samo dodas sta zelis pretrazivat npr.
SELECT * FROM stara_tabela WHERE broj_telefona != '' AND ime LIKE '%jure%'
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.