elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  2 foreign keys (delete cascade) haciendo referencia a una misma tabla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: 2 foreign keys (delete cascade) haciendo referencia a una misma tabla  (Leído 2,890 veces)
Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
2 foreign keys (delete cascade) haciendo referencia a una misma tabla
« en: 14 Septiembre 2011, 01:38 »

Hola,

No soy un gran diseñador de bbdd pero me suelo defender con lo básico para mis consultas desde php... pero con esto me va a explotar la cabeza, os cuento:

Me invento 3 tablas.

users
field_users_value
fields

Quiero poder añadir campos dinamicos a un tipo de usuario determinado, a unos si a otros no, entonces añado a fields un registro que dice que los users de type = X tienen este campo añadido que tiene que rellenar, entonces cuando registro un usuario de type X se guarda un valor en field_users_value que tiene una foreign con fields y otra con users. Es decir que tanto si elimino el field padre, o el user padre, se elimine el field_user_value relacionado, pero me da un pete y debe ser porque la misma tabla tiene 2 claves foraneas con delete cascade.

1005 – Can’t create table ‘field_users_value’ (errno: 150)

Los campos tienen el mismo tipo (INT)..

¿Sabeis si esto se puede hacer?


En línea

fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: 2 foreign keys (delete cascade) haciendo referencia a una misma tabla
« Respuesta #1 en: 16 Septiembre 2011, 04:57 »

Uh igual es por la hora pero no me aclaro, por el error que pegas no llegas a crear la tabla field_users_value

Es como si tienes usuario y roles, ¿no? Lo que quieres es borrar el registro de los roles que tenia un usuario cuando éste es eliminado.

No veo dónde puedes tener el problema, si me das más detalle quizá te pueda ayudar, aunque no me molan ni triggers ni cascadas. Solo los "tolero" en casos muy limitados, controlados y documentados, porque como pases algo por alto se lían a saltar triggers y ya la hemos liado.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines