Actualizar varios campos y registros de una tabla en mysql en una sola consulta
Bienvenidos a Ver Tutoriales.com en esta ocasión voy a aclarar una duda enviada por Jacky.
En el correo me preguntaba como podía actualizar varios campos en una misma consulta con PHP utilizando Mysql para ahorrarse el tener que enviar diferentes consultas a la base de datos y de esa manera lanzar solo una y optimizar la aplicación.
Antes de nada aclarar, que PHP es un lenguaje y MySQL un gestor de base de datos, por lo que la consulta que vamos a implementar es util para cualquier lenguaje que ataque a dicha base de datos. Es decir, PHP es la herramienta con la que atacamos a esa base de datos, pero la sentencia SQL es propia del lenguaje de la base de datos, en este caso MySQL.
Una vez hecha la aclaración continuemos con la respuesta, que como vereis es muy sencilla. A diferencia de la consulta simple que sería de esta manera:
UPDATE tabla SET campo = ‘valor’ WHERE condición
Actualizamos utilizando dos valores de esta otra manera
UPDATE tabla SET campo = ‘valor’, campo2 = ‘valor2′ WHERE condición
Así de sencillo, puedes poner tantos campos como quieras siempre y cuando los tenga la tabla, y la consulta que quieras poner, si es que no quieres actualizar la tabla completa.
Espero que os resuelva la duda a más de uno!
Un saludo!



8 Respuestas
retwert
junio 22nd, 2011 a 8:48 pm
1NO SIRVE, a ver si pones bien el título, ¿varios registros a la vez? ¿sabes lo que son los registros en una tabla?
VideoTutoriales
junio 23rd, 2011 a 9:31 am
2¿El qué no te sirve?
yomerenguez
octubre 11th, 2011 a 9:05 pm
3No sirve, el título es engañoso.
lo que se sugiere con él es actualizar varios registro con una sola sentencia
VideoTutoriales
octubre 11th, 2011 a 9:18 pm
4Yomerenguez, si realizas la siguiente consulta:
UPDATE artículos SET iva = ’18′, dto = ’5′ WHERE familia = “colchones”
Actualizará todos los registros de la tabla artículos con el iva al 18 y el dto con un 5 donde el campo familia sea igual a colchones, es decir, Actualizar varios campos y registros de una tabla en mysql en una sola consulta es lo que hace la linea de MySQL anterior.
Sino ha resuelto la duda que ibas buscando puedes preguntar y gustosamente te daremos solución.
Un saludo!
sdgsdg
octubre 19th, 2011 a 7:30 pm
5y como carajos actualizo 58 registros de 1 sola columna?
VideoTutoriales
octubre 20th, 2011 a 2:13 pm
6La consulta anterior
UPDATE artículos SET iva = ’18′ WHERE familia = “colchones”
Actualizaría 1, 58 o 1000 registros siempre y cuando cumpla la condición de que la familia = “colchones”
Si solo tiene una columna, puedes modificar el where para que sea sobre esa columna u omitirla para que modifique todos los registros, es decir:
Pongamos que tenemos la columna “jaula” y en ella guardamos diferentes animales, gatos, perros y ratones. y queremos que todos los perros sean loros pues sería algo así:
UPDATE animales SET jaula = ’loro′ WHERE jaula = ‘perro’;
En este ejemplo, animales es la tabla, suponemos que tenemos solo la columna jaula y que contiene un string que guarda una especie de animal, entre ellos perro que a partir de la consulta anterior se modificará a loro.
Espero que esté más claro tr.
Un saludo!
Javier Garcia
mayo 11th, 2012 a 2:53 pm
7Que idiotes, varios registros, no varios CAMPOS! que titulo tan mal puesto
VideoTutoriales
mayo 12th, 2012 a 10:25 am
8Quizás debieras de repasar términos:
Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad.
Si lo que buscas es modificar el nombre del campo o columna, o si quieres añadir nuevos campos, también estaría correcto utilizar el término.
Un saludo!
Insertar al RSS los comentarios de esta entrada
Escribe tu comentario