Avatar billede encorez Nybegynder
25. november 2010 - 00:23 Der er 4 kommentarer og
1 løsning

Kun update hvis nyere DATETIME

Hej

Jeg har en række med oplysninger og en server.
Når jeg kommer med nye data, så skal rækken for den server KUN opdateres hvis det data jeg tester på har en nyere dato end hvad er i den DATETIME i databasen.

Kan man gøre det i én query? Altså lave en UPDATE, men kun HVIS data-dato er nyere end DB-dato?

Ellers er mit alternativ at jeg skal udtrække den DATETIME og i PHP lave sammenligningen på dato, og hvis nyere, så laver jeg en UPDATE.

mvh. simon
Avatar billede arne_v Ekspert
25. november 2010 - 00:33 #1
Hvad med:

UPDATE dintabel SET f1 = <nyf1>, f2 = <nyf2>, f3 = <nyf3> WHERE id = <x> AND tid < <nytid>

?
Avatar billede encorez Nybegynder
25. november 2010 - 15:43 #2
Ja, den var jo såre simpel nu når jeg ser den. Og den virker.

Læg et svar for point :)
Avatar billede encorez Nybegynder
25. november 2010 - 15:49 #3
Kan du sige mig om dette er overkill?

PRIMARY KEY (`id`),
  UNIQUE KEY `User_ID` (`Process_Start_Date`,`Hostname_trim`,`MECID`,`User_ID`),
  KEY `Process_Start_Date` (`Process_Start_Date`,`Hostname_trim`,`User_ID`,`Description`,`MECID`)

Altså jeg har både en unik key OG en KEY på 4 af de samme felter.
Er det nødvendigt at lave en KEY når man allerede har en Unik KEY på samme felt?
Avatar billede arne_v Ekspert
25. november 2010 - 16:51 #4
svar
Avatar billede arne_v Ekspert
25. november 2010 - 16:51 #5
Det er aldeles overflødigt med en key på det samme som en unique key.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester