Tengo tabla - config . Esquema:
config_name | config_value
Y me gustaría actualizar varios registros en una consulta. Lo intento así:
UPDATE config
SET t1.config_value = 'value'
, t2.config_value = 'value2'
WHERE t1.config_name = 'name1'
AND t2.config_name = 'name2';
pero esa consulta es incorrecta :(
¿Me puedes ayudar?
Respuestas:
Pruebe con la sintaxis de actualización de varias tablas
Aquí está la demostración SQLFiddle
o actualización condicional
Aquí está la demostración SQLFiddle
fuente
config AS t1
dondeAS
sea opcional.Puede lograrlo con INSERT de la siguiente manera:
Esto inserta nuevos valores en la tabla, pero si la clave primaria está duplicada (ya insertada en la tabla), los valores que especifique se actualizarán y el mismo registro no se insertará la segunda vez.
fuente
en mi caso, tengo que actualizar los registros que son más de 1000, para esto en lugar de presionar la consulta de actualización cada vez que prefería esto,
78,77 son los ID de usuario y para esos ID de usuario necesito actualizar el base_id 999 y 88 respectivamente. Esto funciona para mí.
fuente
tal vez para alguien sea útil
para Postgresql 9.5 funciona como un encanto
este SQL actualiza el registro existente e inserta si es nuevo (2 en 1)
fuente
La solución de Camille funcionó. Lo convirtió en una función básica de PHP, que escribe la declaración SQL. Espero que esto ayude a alguien más.
fuente
en lugar de esto
puedes usar
fuente
Ejecute el siguiente código para actualizar n número de filas, donde la ID principal es la identificación de la que desea obtener los datos y las identificaciones secundarias son las que necesita actualizar, por lo que solo necesita agregar la identificación principal y las identificaciones secundarias para actualizar todas las filas que necesitas usando un pequeño script.
fuente
Suponiendo que tiene la lista de valores para actualizar en una hoja de cálculo de Excel con config_value en la columna A1 y config_name en B1 , puede escribir fácilmente la consulta allí usando una fórmula de Excel como
=CONCAT("UPDATE config SET config_value = ","'",A1,"'", " WHERE config_name = ","'",B1,"'")
fuente
Ejecute el siguiente código si desea actualizar todos los registros en todas las columnas:
y si desea actualizar todas las columnas de una fila en particular, ejecute el siguiente código:
fuente