/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
INSERT hvis noget eller ikke noget
Fra : Thomas Lindgaard


Dato : 20-02-03 16:19

Hejsa

Kan man i SQL (nærmere bestemt MySQL) sige at noget skal indsættes i en
tabel hvis en tilsvarende record ikke findes i forvejen?

I pseudokode er det jeg gerne vil at koge følgende ned til een SQL-sætning:

if ( num_rows("SELECT * FROM tabel WHERE felt1='værdi1' AND ...") == 0 )
{
"INSERT INTO tabel (felt1, ...) VALUES ('værdi1', ...)"
}

skal blive til

"INSERT INTO tabel if not exist in forvejen (felt1, ...)
VALUES ('værdi1', ...)"

--
Hyggehej
/Thomas

 
 
Chrisser (21-02-2003)
Kommentar
Fra : Chrisser


Dato : 21-02-03 08:30

"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
news:Xns9328A6069F29Bthomasitsnedkerendk@130.225.247.90...
> Hejsa
>
> Kan man i SQL (nærmere bestemt MySQL) sige at noget skal indsættes i en
> tabel hvis en tilsvarende record ikke findes i forvejen?
>
> I pseudokode er det jeg gerne vil at koge følgende ned til een
SQL-sætning:
>
> if ( num_rows("SELECT * FROM tabel WHERE felt1='værdi1' AND ...") == 0 )
> {
> "INSERT INTO tabel (felt1, ...) VALUES ('værdi1', ...)"
> }

Jeg har ikke arbejdet med MYSQL, men i MSSQL vil den se sådan ud:

sql = "if not exists (select ..........from tabel where............) Begin
insert into tabel" (felt1,felt2) values("hej", "kaj")
end else Begin update tabel set felt1="hej" where .............. end"

Måske syntaksen er den samme ?


Chrisser



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste