Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL: INSERT- ja SELECT-lauseiden yhdistäminen

Macro [26.02.2011 20:11:52]

#

Hei!

Minulla on seuraavanlaiset MySQL-lauseet, jotka haluaisin yhdistää seuraavasti: Jälkimmäisen lauseen x:n tilalle tulee ensimmäisen lauseen palauttama arvo. Ensimmäisen lauseen kysymysmerkin tilalle tulee käyttäjän antama nimi.

SELECT id FROM albumit WHERE albumi = ?

INSERT INTO kappaleet(albumi, nimi) VALUES(x, ?)

En ole vielä opetellut tälläisiä asioita. Milläköhän hakusanalla kannattaisi tutkia tälläistä lauseiden yhdistämistä?

Jos nuo kaksi lausetta yhdistää, niin tuleeko riskiä, että albumi-sarake jää tyhjäksi kun SELECT-lause ei palauta mitään?

The Alchemist [26.02.2011 20:22:48]

#

Macro kirjoitti:

Hei!

Minulla on seuraavanlaiset MySQL-lauseet, jotka haluaisin yhdistää seuraavasti: Jälkimmäisen lauseen x:n tilalle tulee ensimmäisen lauseen palauttama arvo. Ensimmäisen lauseen kysymysmerkin tilalle tulee käyttäjän antama nimi.

Eipä tule, ei. Ensimmäisessä kyselyssä valitset sarakkeen id mutta jälkimmäisessä haluat insertata nimen.

lainaus:

Jos nuo kaksi lausetta yhdistää, niin tuleeko riskiä, että albumi-sarake jää tyhjäksi kun SELECT-lause ei palauta mitään?

Josset halua sallia tyhjiä arvoja, niin älä silloin salli niitä ('not null'). Niin yksinkertaista.

INSERT INTO kappaleet (nimi, albumi) VALUES ('x', (SELECT id FROM albumit WHERE albumi=? LIMIT 1))

Macro [26.02.2011 20:39:45]

#

The Alchemist kirjoitti:

INSERT INTO kappaleet (nimi, albumi) VALUES ('x', (SELECT id FROM albumit WHERE albumi=? LIMIT 1))

Kiitos, juuri tätä tarkotin. En tiennyt vain, että toisen lauseen voi kirjoittaa vain sulkeisiin arvon paikalle.

Vastaus

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

Tietoa sivustosta