Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MYSQL-unique-ongelma

kalvin [28.07.2006 12:12:44]

#

Ongelma on seuraavanlainen..
MYSQL-tietokannassa on kaksi saraketta vaikka "sana" ja "numero".. unique komennollahan pystyy karsimaan samat sanat tai samat numerot pois, mutta miten saa karsittua pois sellaiset "kohdat" missä on sama sana ja numero.. eli ettei tietokannassa olisi kahta "A" "1"-kohtaa mutta esimerkiksi "A" "1":n lisäksi voisi olla "A" "2" ja "B" "1"? Vaikeasti ilmaista, mutta toivottavasti apua löytyy.

Olga [29.07.2006 16:07:01]

#

vastaus tulee reissusta, joten on hieman vajaa. mutta sql:ssä voit tehdä useammasta sarakkeesta uniikin. googlettamalla varmasti löytyy ohjeita ja phpmyadminilla moisen teko onnistuu graafisestikin jos sql ei ole ihan hanskassa.

kalvin [29.07.2006 23:26:09]

#

Jos molemmista sarakkeista tekee uniikin niin eikö ne silloin koske sarakkeita riippumatta toisistaan? Eli jos ensimmäisessä sarakkeessa on vaikka kirjain A ja toisessa sarakkeessa numero 1 ja molemmat sarakkeet on uniikkeja ei mysql hyväksy ensimmäiseen sarakkeeseen A:ta riippumatta siitä mitä toisessa sarakkeessa on. Kun olisi siis tarkoitus että mysql ei hyväksyisi sellaisia rivejä lisää jotka on jo olemassa, siis joka täsmää molemmilta sarakkeiltaan, mutta hyväksyisi kuitenkin sellaiset joissa vain toinen sarake täsmää aiemmin luotuun riviin.

ajv [29.07.2006 23:33:55]

#

Niin siis Olga tarkoitti, että indeksi voi sisältää useamman sarakkeen.
http://dev.mysql.com/doc/refman/5.0/en/create-index.html
Tuosta pika-sovellus:

CREATE UNIQUE INDEX sana ON taulu (sana, numero)

En ole ikinä käyttänyt enkä jaksanut testata, mutta kokeile.

Edit: lukaise myös Multiple-Column Indexes

Edit2: pakkohan se oli testata ja juuri noinhan se toimii.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta