tengo una instrucción UPDATE MySQL que utiliza una cláusula CASOMySQL CASO DONDE ... ... then
UPDATE partsList SET quantity =
CASE
WHEN partFK = 1 THEN 4
WHEN partFK = 2 THEN 8
END
WHERE buildFK = 1;
Las obras declaración anterior. Sin embargo, cuando elimino una de las instrucciones WHEN, se rompe y el error indica que la cláusula CASE no devuelve nada. ¿Es que la cláusula CASE debe tener más de un CUÁNDO para funcionar?
No sé de antemano cuántas actualizaciones necesitaré, así que estoy tratando de compilar una sola declaración de actualización que pueda manejar una o varias actualizaciones.
Gracias por cualquier idea que pueda proporcionar.
Ahh, ya veo. Había leído que la base de datos evalúa CASE en cada fila, por lo que ahora tiene sentido. La tabla es un enlace entre compilaciones y partes, esta tabla es donde se almacena la cantidad. ¿Puedo usar el valor actual en ELSE? Es decir. ELSE cantidad – CDspace
Sí, 'cantidad ELÁSCA 'debería funcionar. – recf
Impresionante, gracias por aclarar eso para mí. Y para el registro, 'ELSE quantity' sí funcionó. – CDspace