webForumDet fria alternativet

Uppdatering av tabel

3 svar · 174 visningar · startad av GunnarD

GunnarDMedlem sedan juni 20014 290 inlägg
#1

Säg att jag har följande tabel:

CREATE TABLE wh_alla (
namn VARCHAR(255) PRIMARY KEY,
urlidg VARCHAR(255),
urldm VARCHAR(255));

Nu har jag en post som jag vill lägga in (ex. namn=foobar urldm=foobar)

Om namn redan finns i databasen så skall den uppdateras annars skall den läggas till, vid uppdateringsfallet så skall värdet på den andra kolumnen (urlidg) bibehålas.

Kan man göra detta med ett (1) SQL uttryck, eller måste jag först kontrollera om det redan finns och sedan antingen köra insert eller update?

K@llenMedlem sedan mars 20032 667 inlägg
#2
REPLACE INTO wh_alla (namn, urlidg, urldm) VALUES('value1', 'value2', 'value3')

Förutsätter att tex namn är unikt.

GunnarDMedlem sedan juni 20014 290 inlägg
#3

Men då måste jag ha alla 3 värdena.
För varje fråga har jag namn och (urlidg eller urldm)

REPLACE gör, om jag förstått det rätt, först en DELETE på raden och sedan en INSERT och då försvinner värdet i den kolumnen jag inte har när jag uppdaterar.

K@llenMedlem sedan mars 20032 667 inlägg
#4

Då lär det bli svårare att göra med en fråga. Jag skulle tro att du får kolla om värdet finns med en fråga och sedan göra en UPDATE eller en INSERT beroende på resultat. :)

124 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)