/ 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
SQL insert
Fra : Per


Dato : 31-10-03 23:00

Jeg ville høre om det var muligt at lave en sql insert kun hvis den data der
skal insættes ikke findes i forvejen i tabellen. Jeg benytter ms access
2002.
Noget i retning af:
INSERT INTO USER (username)
VALUES ('jens')
WHERE username not like 'jens';

Hvis værdien 'jens' ikke findes i tabellen, indsættes den.



 
 
Nikolaj Hansen (01-11-2003)
Kommentar
Fra : Nikolaj Hansen


Dato : 01-11-03 00:01

Hejsa

Du kan ikke have betingelser (where clause) på et insert statement.

Hvis du har indexeret navn som et unique index kan du evt. bare forsøge at
indsætte. Hvis rækken så eksisterer vil du få et unique key constraint fejl.
Den kan du så lave fejlbehandling på.

- Nikolaj



Jens Gyldenkærne Cla~ (01-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-11-03 00:25

Nikolaj Hansen skrev:

> Du kan ikke have betingelser (where clause) på et insert
> statement.

Jo da - hvis man bruger SELECT i stedet for VALUES :)

INSERT INTO tabel (feltnavn)
SELECT feltnavn
FROM andentabel
WHERE kriteriefelt = 42


--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Jens Gyldenkærne Cla~ (01-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-11-03 00:04

Per skrev:

> Jeg ville høre om det var muligt at lave en sql insert kun
> hvis den data der skal insættes ikke findes i forvejen i
> tabellen.

Lav et unikt indeks på det felt der skal være unikt - så klarer
databasen resten.

> Noget i retning af:
> INSERT INTO USER (username)
> VALUES ('jens')
> WHERE username not like 'jens';

Det virker ikke. Du kan ikke bruge en WHERE-klausul sammen med
VALUES.

--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste