Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2012, 06:06
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Campos indices dependientes entre si

De entrada eso no son indices sino identificadores... con ese cambio y agregando auto incremental a tus consultas quizas habrias llegado a la conclusión que lo que intentas no es posible....

Pasanos la estructura de esas tablas porque diria que debes tener algun error de diseño.

1.- No puede haber mas de un autoincremental por tabla.

El valor de el siguiente autoincremental és unico para una tabla luego no puede mantener mas de uno.

2.- Un identificador debe ser único, luego no puedes tener dos 1....


Posible diseño:

encuesta
ID_encuesta PK autoinc
nombre
....

items
ID_item PK autoinc
ID_encuesta FK integer (no es auto inc)
NumeradorIt integer
Item
....

opciones
ID_opcion PK autoinc
ID_item FK integer (no es auto inc)
NumeradorOp integer
Opcion
...

cuestionarios
ID_cuestionario PK autoinc
ID_Enquesta FK
...identificación o no de quien lo ha rellenado...
... otros p.e. ID_Encuestador.....

encuestaRealizada
ID_Respuesta PK autoinc
ID_cuestionario FK
ID_Item FK
ID_opcion FK


(ID_cuestionario+ID_Item+ID_opcion serian una clave alternativa, luego ID_Respuesta no es estrictamente necesario)

Asi creo que funcionaria.

ID_cuestionario es necesario para unir todas las respuestas de un usuario sea identificado o anonimo.

NumeradorIt y NumeradorOp son los campos que deberias usar para guardar el numerador correlativo que quieres, pero debes calcularlo antes de hacer el insert, se puede automatizar, pero no hay una forma nativa de hacerlo. Al no ser PK tienes libertad para repetir numeros.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 26/09/2012 a las 06:17