Hola karles200:
En lo particular te propondría un modelo con tres tablas en lugar de dos:
Una tabla de PREGUNTAS tal y como lo propones, una tabla de TESTS donde almacenes el id, el nombre y el tiempo para el test y una tercer tabla TESTS_PREGUNTAS donde puedas asignar las preguntas de cada test.
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.05 sec)
-> (1, '¿Quién descubrió América?', 'Cristobal Colón',
-> 'Napoleón Bonaparte', 'Aristóteles', 'Américo Vespicio', 1),
-> (2, '¿Quién logró la conquista de México?', 'Cristobal Colón',
-> 'Hernán Cortés', 'Napoleón Bonaparte', 'Hugo Sánchez', 2),
-> (3, '¿De que color es caballo blanco de Napoléon?', 'Negro',
-> 'Café', 'Blanco', 'Gris', 3),
-> (4, '¿En qué país nació Napoleón Bonaparte?', 'España',
-> 'Alemania', 'México', 'Francia', 4);
Query OK, 4 rows affected (0.03 sec)
Query OK, 0 rows affected (0.08 sec)
-> (1, 'Historia de México', 60),
-> (2, 'Historia Universal', 60);
Query OK, 2 rows affected (0.03 sec)
Query OK, 0 rows affected (0.08 sec)
-> (2,2,1),(3,2,2),(4,2,3),(5,2,4);
Query OK, 6 rows affected (0.03 sec)
mysql> #Para obtener las preguntas del Test "Historia de México"
-> on TP.id_pregunta
= P.id_pregunta
where TP.id_test
= 1; +--------------------------------------+
| Enunciado |
+--------------------------------------+
| ¿Quién descubrió América? |
| ¿Quién logró la conquista de México? |
+--------------------------------------+
mysql> #Para obtener las preguntas del Test "Historia Universal"
-> on TP.id_pregunta
= P.id_pregunta
where TP.id_test
= 2; +----------------------------------------------+
| Enunciado |
+----------------------------------------------+
| ¿Quién descubrió América? |
| ¿Quién logró la conquista de México? |
| ¿De que color es caballo blanco de Napolé
on?
| | ¿En qué país nació Napoleón Bonaparte? |
+----------------------------------------------+
Como verás de esta manera puedes reutilizar el banco de preguntas para distintos exámenes. Por cuestiones de presentación en el select sólo estoy recuperando el enunciado, pero podrías recuperar todos los campos de tu tabla preguntas poniendo simplemente P.* en lugar de P.Enunciado
Espero sinceramente que esto te pueda ser de ayuda.
Saludos
Leo.