Evitar cargar mismo registro 2 veces

Hola como estan, necesito una idea de como evitar cargar el mismo registro 2 veces (ya sea pq lo cargo otro usuario),

tengo una Tabla :

Liquidaciones=


               id                int (autoincremental)


               mes               int (clave foreanea a tabla Meses)


               anio              int (clave foreanea a tabla Anios)


               organismo         int (clave foreanea a tabla organismos)


               monto             decimal (monto q se pago)


               desafectado       char (puede asumir el valor SI).

debo evitar q para un mismo año, mes y organismo se cargue la misma liquidación (salvo q este desafectado un registro)

como podría hacer esto? quizás en el dentro del controller de liquidaciones antes de grabar ? gracias

Buenas.

Entiendo que lo que quieres es que estando 2 usuarios conectados, no puedar editar la misma liquidación, para que no se pisen sus actualizaciones.

En este caso pienso que lo mejor es asignar a los usuarios las liquidaciones, para que así cada usuario pueda ver sólo las suyas.

Otra opción es un campo de control en cada registro, que cuando se lance la vista create/update se ponga a true y cuando se realice un commit en la acción create/update se ponga a false. A mi esta opción no me gusta nada (de hecho te la desaconsejo) pq puedes encontarte con registros bloqueados por errores, o q se pierda la conexión y no se cierren, etc…

No conozco otra forma de hacer lo que deseas. Lo mejor relacionar las liquidaciones con los usuarios, y un sistema para poder asignar registros entre usuarios.

Un saludo.