Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: dimitrix en 6 Octubre 2014, 00:04 am



Título: Upload multiple
Publicado por: dimitrix en 6 Octubre 2014, 00:04 am
Bien, a ver como lo explico.


Tengo una base de datos que como ejemplo contiene:

ID, nombre, apellido, puntuación

Y que empiezan con puntuación 0.

Lo que pasa, es que una vez al mes, se hace un cálculo matemático basado en notas, etc. y al final tengo en un PHP todos los ID con la puntuación de cada ID.

Así que mi pregunta es ¿Existe en SQL alguna forma de hacer un Update Batch?

Es por no hacer 10,000 peticiones a la db, tampoco veo una forma muy "limpia", el hacer 10,000 queries seguidos de punto y coma... (que nos conocemos xDDD)

Merci!


Título: Re: Upload multiple
Publicado por: ivancea96 en 6 Octubre 2014, 00:11 am
Dices algo así?
Código
  1. INSERT INTO Table1 ( Column1, Column2 )
  2. VALUES ( Value1, Value2 ),
  3.       ( Value1, Value2 ),
  4.       ...


Título: Re: Upload multiple
Publicado por: dimitrix en 6 Octubre 2014, 00:40 am
Sí, el problema es que cada ID tiene unos puntos diferente. Además sería con Upload no Insert.


Título: Re: Upload multiple
Publicado por: MinusFour en 6 Octubre 2014, 01:25 am
No conozco Upload. ¿Seguro que no es Update?


Título: Re: Upload multiple
Publicado por: dimitrix en 6 Octubre 2014, 01:55 am
Hahaha, creo que necesito unas vacaciones... sí, update :-)

Por ahora lo he metido en un foreach.

Lo he hecho en Active Records, pero me sirve de cualquier forma:

Código
  1. $this->db->update('alumnos',['value'=>$total],['ID'=>$value['ID']]);


Título: Re: Upload multiple
Publicado por: Carloswaldo en 10 Octubre 2014, 23:05 pm
¿No hay forma de que el cálculo lo hagas directamente en la base de datos? Debería ser más eficiente, y dependiendo del tipo del cálculo podrías ponerlo dentro del mismo UPDATE.


Título: Re: Upload multiple
Publicado por: dimitrix en 11 Octubre 2014, 01:36 am
¿No hay forma de que el cálculo lo hagas directamente en la base de datos? Debería ser más eficiente, y dependiendo del tipo del cálculo podrías ponerlo dentro del mismo UPDATE.

Para nada, se coge de datos externos...