MySQL - relaciones reflexivas

 
Vista:

relaciones reflexivas

Publicado por pablo (1 intervención) el 16/03/2005 16:11:14
Holas, estoy con MySQL a vueltas y me he encontrado un problema con las relaciones reflexivas.
Suponed que tengo esta tabla:

create table p (
id integer not null auto_increment ,
id_p integer not null ,
primary key( id ) ,
unique( id_p ) ,
foreign key( id_p )
references p( id )
on delete no action
on update no action
) type=innodb;

id_p depende del campo id, por eso la primera tupla que se puede meter en esta tabla debe tener en id_p el valor del campo autonumérico id. Puedo saber el último valor generado con select last_insert_id(), pero no sé cómo saber cuál es el id que se va a insertar ahora. Este es el primer problema.
El segundo problema (mas chungo) es que no me deja borrar tuplas. Si inserto la tupla (1,1), por ejemplo, luego no me deja borrarla porque dice que fallaría una restricción de clave ajena. No puede existir restricción si la única tupla es (1,1) ........ ¿?¿?¿?¿?
He buscado por ahí y no he encontrado nada sobre esto, si a alguien se le ocurre algo...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder