ON DUPLICATE KEY UPDATE o SP ???

0 views
Skip to first unread message

Tio Oscar

unread,
Oct 27, 2008, 10:49:21 AM10/27/08
to weban...@googlegroups.com

Tengo que hacer  un "contador de clicks" hacia una determinada pagina, el tema es que  necesito cada vez que se haga click en un producto , registrar cuantas veces se hizo click en eso (en una tabla aparte) ya que tambien contempla otra variable(de donde le hicieron click), para eso cree una tabla para relacionar el producto con  "de donde vino" para eso hice un:

INSERT INTO Searchrels SET
  ksearch_id = $keywordid,
  qstring_id = $pid
ON DUPLICATE KEY UPDATE
  srel_times = srel_times+1

Donde srel_times tiene un default de 1 y hay una unique key entre ksearch_id y qstring_id... Ok esto funciona a la perfección.

Lei en un sitio que esto era un metodo rapido para MySql 4.x, pero que en MySql 5.1 es mas optimo usar un SP.. 

La cosa es.. en este preciso caso... es mucho mas optimo usar un Store Prosedure, o me quedo con el ON DUPLICATE KEY UPDATE ??

Aca un ejemplo que dieron en la web:

create procedure user_insert_update (
  IN uname_in varchar(20),
  IN score_in varchar(20),
)
BEGIN
 If exists (select 1 from scores where uname = uname_in) then
 update scores set score=score_in where uname=uname_in;
else
 insert into scores values(score_in,uname_in);
end if;
END 


--
El Tio ~ http://blog.exodica.com.ar

Francisco Rosales

unread,
Oct 27, 2008, 11:08:52 AM10/27/08
to weban...@googlegroups.com
Si esa funcion sql ON DUPLICATE te andara en las proxima version de MySQL segui usandola, porque la verdad ahorra bastante codigo. Que lastima que no lo tiene Oracle.


2008/10/27 Tio Oscar <tio...@gmail.com>



--
\\ Francisco Rosales  - http://www.nessy.com.ar
Reply all
Reply to author
Forward
0 new messages