Y si te olvidas de la tabla stock y usas una tabla llamada entradas y salidas
TblEntSal
idEntSal
idProducto
idTipo
cantidad
fecha
...
donde Tipo es 1 Entradas (o compras) y 2 Salidas (o ventas)
y te limitas a registrar entradas y salidas
En cualquier momento puedes calcular el stock actual
Código MySQL:
Ver original SUM(if(tipo
=1,cantidad
,0)) Compras
, SUM(if(tipo
=2,cantidad
,0)) Ventas
, SUM(if(tipo
=1,cantidad
,0))-SUM(if(tipo
=2,cantidad
,0)) Stock
incluso podrías crear una vista con esa query que se llame como tu actual tabla de stock....
Creeme es mucho mas seguro y simple hacer esto que mantener una tabla para las compras otra para las ventas y rizando el rizo una para el stock, que obviamente es un calculo sobre los datos anteriores....
Que fuerte no?