Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/03/2013, 16:18
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: bien planteado para manejar claves foraneas y FULLTEXT

Hola franroa:

El código que pones no tienen ningún error, además menciona un caracter # el cual ni siguiera pones en el código... Checa este script, creo las cuatro tablas que mencionas, con un solo campo, inserto datos en las cuatro tablas, creo el trigger, elimino un elemento de la tabla files y se eliminan de las otras tablas, no hay ningún error en el código:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM files;
  2. +--------+
  3. | fileID |
  4. +--------+
  5. |      1 |
  6. |      2 |
  7. |      3 |
  8. +--------+
  9. 3 rows in set (0.00 sec)
  10.  
  11. mysql> SELECT * FROM portalfiles;
  12. +----------+
  13. | pfFileID |
  14. +----------+
  15. |        1 |
  16. |        2 |
  17. |        3 |
  18. +----------+
  19. 3 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT * FROM userfiles;
  22. +----------+
  23. | ufFileID |
  24. +----------+
  25. |        1 |
  26. |        2 |
  27. |        3 |
  28. +----------+
  29. 3 rows in set (0.00 sec)
  30.  
  31. mysql> SELECT * FROM subjectfiles;
  32. +----------+
  33. | sfFileID |
  34. +----------+
  35. |        1 |
  36. |        2 |
  37. |        3 |
  38. +----------+
  39. 3 rows in set (0.00 sec)
  40.  
  41. mysql> DELIMITER |
  42. mysql> CREATE TRIGGER deletecascade AFTER DELETE ON files
  43.     -> FOR EACH ROW
  44.     -> BEGIN
  45.     -> DELETE FROM portalfiles WHERE pfFileID = old.fileID;
  46.     -> DELETE FROM userfiles WHERE ufFileID = old.fileID;
  47.     -> DELETE FROM subjectfiles WHERE sfFileID = old.fileID;
  48.     -> END
  49.     -> |
  50. Query OK, 0 rows affected (0.05 sec)
  51.  
  52. mysql> DELIMITER ;
  53. mysql> DELETE FROM files WHERE fileID = 1;
  54. Query OK, 1 row affected (0.04 sec)
  55.  
  56. mysql> SELECT * FROM files;
  57. +--------+
  58. | fileID |
  59. +--------+
  60. |      2 |
  61. |      3 |
  62. +--------+
  63. 2 rows in set (0.00 sec)
  64.  
  65. mysql> SELECT * FROM portalfiles;
  66. +----------+
  67. | pfFileID |
  68. +----------+
  69. |        2 |
  70. |        3 |
  71. +----------+
  72. 2 rows in set (0.00 sec)
  73.  
  74. mysql> SELECT * FROM userfiles;
  75. +----------+
  76. | ufFileID |
  77. +----------+
  78. |        2 |
  79. |        3 |
  80. +----------+
  81. 2 rows in set (0.00 sec)
  82.  
  83. mysql> SELECT * FROM subjectfiles;
  84. +----------+
  85. | sfFileID |
  86. +----------+
  87. |        2 |
  88. |        3 |
  89. +----------+
  90. 2 rows in set (0.00 sec)

Revisa bien qué es lo que trataste de ejecutar y qué es lo que postaste.

Saludos
Leo.