Cuando quisimos hacer un delete en una tabla pero nos dice
240:Could not delete a row
Creemos es un indice roto, por lo que corrimos
oncheck -cI bdmedicina:sga_equiv_otorgada
Lo cual nos devuelve que efectivamente hay un indice roto, el cual pertenece a una fk
ERROR: No data row exists for btree item.
Rowid 0x1430 contains key value:
Key: "EMED":"MEDI":"1032":"1":"00068":
Btree item contains rowid 0xa25, key value:
Key: "EMED":"MEDI":"1032":"1":"00068":
Alguna vez se solucionó pasando los datos a una tabla temporal, dropeando la tabla original, creandola tabla nuevamente con sus pk y fk y luego volviendo a cargar los datos.
Existe otra forma de solucionar que no implique el drop de una tabla?
Hola Alejandro, soy compañero de paconqn por un problema de perfil no pudo ver mas esta parte del foro, te contesto lo que hicimos.
Sacamos las FK con alter table drop constraint…
hicimos el delete q necesitabamos hacer y agregamos FK de nuevo con alter table.
Solucionamos ese problema.
pero si vuelvo a hacer oncheck -cI bdmedicina:sga_equiv_otorgada
sigue dando el error en el indice.
ERROR: No data row exists for btree item.
Rowid 0x1430 contains key value:
Key: “EMED”:“MEDI”:“1032”:“1”:“00068”:
Btree item contains rowid 0xa25, key value:
Key: “EMED”:“MEDI”:“1032”:“1”:“00068”:
Por ahora no surgieron problemas. Pero ese error en el indice no me gusta, me parece que en algun momento cuando se quiera hacer alguna operacion con equivalencias va a trer problemas.
Luego de borrar la FK, ejecutaron en oncheck -ciI sobre esa tabla y no dio error?
Estos errores que te informa el oncheck son nuevamenet sobre el indice asociado a la creación de la FK?
Asi es, parece que no tenes problemas con los indices sobre sga_versiones_plan.
Hace los mismo sobre la tabla sga_equiv_otorgada. Un checkeo de los indices y tambien de los datos (oncheck -ciId base:sga_equiv_otorgada)