Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2014, 12:56
tzhkronz
 
Fecha de Ingreso: junio-2014
Mensajes: 1
Antigüedad: 10 años, 4 meses
Puntos: 0
Fallo en mi codigo T_T (On delete cascade On update set null)

Buenas!
¿Alguien podría echarme una mano?

A ver, tengo la siguiente estructura en las tablas, pero me gustaría meterle lo siguiente:

* Al borrar un fotografo que se borre su dni de Fotografia, Utiliza y de SesionFotos.
* Al borrar una camara se queden sus datos guardados.
* No permitir cambios en la bd.

Código MySQL:
Ver original
  1. SET FOREIGN_KEY_CHECKS = 0;
  2.  
  3. CREATE DATABASE IF NOT EXISTS TFotografias
  4.   CHARACTER SET latin1 COLLATE latin1_swedish_ci;
  5. USE TFotografias;
  6. -- -------------------------------------
  7. -- Tables
  8.  
  9. DROP TABLE IF EXISTS TFotografias.Fotografo ;
  10. CREATE TABLE TFotografias.Fotografo (
  11.   dni INT(9) NOT NULL PRIMARY KEY,
  12.   nombre VARCHAR(50) NOT NULL,
  13.   sueldo INT (10) NOT NULL,
  14.   telefono INT (9) NOT NULL
  15.  
  16.  
  17. );
  18.  
  19.  
  20. DROP TABLE IF EXISTS TFotografias.Camara;
  21. CREATE TABLE TFotografias.Camara (
  22.  
  23.   nserie INT (9) NOT NULL PRIMARY KEY,
  24.   marca VARCHAR (20) NOT NULL,
  25.   modelo VARCHAR (20) NOT NULL,
  26.   precio INT (9) NOT NULL,
  27.   fecha_compra DATE
  28.  
  29. );
  30.  
  31.  
  32.  
  33. DROP TABLE IF EXISTS TFotografias.Fotografia;
  34. CREATE TABLE TFotografias.Fotografia (
  35.  
  36.  
  37.   dni INT(9) NOT NULL,
  38.   numero INT (9) NOT NULL,
  39.   ancho INT (9)NOT NULL,
  40.   alto INT (9)NOT NULL,
  41.   resolucion INT (9)NOT NULL,
  42.   tema VARCHAR (9) NOT NULL,
  43.   fecha DATE,
  44.   CONSTRAINT PRIMARY KEY (dni, numero)
  45.  
  46. );
  47.  
  48.  
  49.  
  50. DROP TABLE IF EXISTS TFotografias.Utiliza;
  51. CREATE TABLE TFotografias.Utiliza (
  52.  
  53.  dni INT(9) NOT NULL,
  54.  nserie INT (9) NOT NULL,
  55.  fecha DATE,
  56.  incidencia VARCHAR (9) NOT NULL,
  57.  CONSTRAINT PRIMARY KEY (dni, nserie, fecha)
  58.  
  59.  
  60. );
  61.  
  62. DROP TABLE IF EXISTS TFotografias.SesionFotos;
  63. CREATE TABLE TFotografias.SesionFotos (
  64.  
  65.  fecha DATE,
  66.  dni INT(9) NOT NULL,
  67.  lugar VARCHAR (9) NOT NULL,
  68.  importe INT (9) NOT NULL,  
  69.  
  70.  CONSTRAINT PRIMARY KEY (fecha, dni)
  71. );
  72.  
  73.  
  74.  
  75. SET FOREIGN_KEY_CHECKS = 1;


PD: Muchisimas gracias

Última edición por gnzsoloyo; 21/06/2014 a las 13:29 Razón: Sin etiquetar.