PDA

View Full Version : [DB]Fare UPDATE o INSERT con una query sola


MEMon
30-05-2007, 17:13
Ragazzi se devo inserire un record in un db SOLO SE questo non è presente, se invece è presente lo devo aggiornare, posso farlo con una query sola?
Se si come?

RaouL_BennetH
30-05-2007, 17:43
vedi se il tuo db supporta i trigger, altrimenti, non so, non potresti progettare la tabella includendo una colonna del tipo isWorked?

per fare un esempio in mysql:



create table myTable(ID int blabla, isWorked enum('0', '1'));

//e poi con una select potresti recuperare le colonne dove isWorked è 0 e quindi aggiornabile

MEMon
30-05-2007, 17:50
I trigger non so manco cosa siano :D

Mentre l'altro discorso non ho capito che intendi...
Io devo inserire un record solo se questo non esiste, altrimenti se esiste devo aggiornare alcuni suoi dati.
Ora lo sto facendo con una SELECT, ovvero prima faccio una select per vedere se quel dato esiste già, poi a seconda del numero di righe interessate dalla select capisco se c'è o no.
Però magari c'era il modo di fare tutto in uno.

0rph3n
30-05-2007, 18:29
prova a guardare qua:
INSERT ... ON DUPLICATE KEY UPDATE Syntax (http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html)

'iao

MEMon
30-05-2007, 18:31
Grande perfetto direi che è quello che cercavo :D
Grazie mille!

MEMon
30-05-2007, 18:34
Ne approfitto:
edit:sono un cojote

0rph3n
30-05-2007, 19:08
Grande perfetto direi che è quello che cercavo :D
Grazie mille!
de nada :)

Ne approfitto:
edit:sono un cojote
ghghgh :D

'iao