Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Actualizar un campo de toda una columa

Estas en el tema de Actualizar un campo de toda una columa en el foro de Mysql en Foros del Web. Hola necesito despejar una duda en cuanto a como poder actualizar correctamente unos registros, ejemplo: tengo unos 10 registros con un campo llamado estado, de ...
  #1 (permalink)  
Antiguo 22/06/2018, 22:50
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Actualizar un campo de toda una columa

Hola necesito despejar una duda en cuanto a como poder actualizar correctamente unos registros, ejemplo: tengo unos 10 registros con un campo llamado estado, de esos 9 estan en estado 0 y solo 1 en estado 1, si selecciono otro registro para ponerlo en estado 1 el registro que estaba en estado 1 pasa a 0, osea solo debe de haber un registro con estado 1, yo lo hago de esta manera

Código MySQL:
Ver original
  1. $this->_db->query("UPDATE tabla SET estado = 0");
  2.     $this->_db->query("UPDATE tabla SET estado = 1 WHERE id = '{$id}'");

y funciona correctamente, pero mi duda es si existe una manera más optima de relaizar esto, suponiendo que en esta tabla existen miles de registro, gracias de antemano por su ayuda.
  #2 (permalink)  
Antiguo 22/06/2018, 23:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.404
Antigüedad: 13 años, 3 meses
Puntos: 774
Respuesta: Actualizar un campo de toda una columa

Estas haciendo un update, no hay manera mas optima de hacerlo, uno actualiza toda la columna a un valor, y el otro actualiza solo 1, y lo estas haciendo de la mejor manera posible para eso
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.