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?
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))
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.