Holas lo que sucede es que en el where no estas especificando que registro debe actualizar, es decir como tienes las consultas seria algo asi por ejemplo:
Código:
UPDATE negocio.ventas SET cajatotal="2" WHERE cajatotal = (SELECT cajatotal ORDER BY factura LIMIT 1);
Pero evidentemente creo que tu consulta del select deberia preguntar por un id de la tabla ventas es decir algo asi
Código:
UPDATE negocio.ventas SET cajatotal="2" WHERE id_ventas = (SELECT id_ventas ORDER BY factura LIMIT 1);
Espero que veas el problema, seria mas facil si colocaras la estructura de las tablas, pero te digo nuevamente que la consulta que estas haciendo no hace la comparacion con ningun registro en particular por eso te modifica todas las filas.
Salu2