Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2010, 17:35
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Delete cascade

Saludos corillo, espero que la estén pasando muy bien:

¿Por qué al tener las tablas de esta forma...
Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `tbl_user`;
  2. CREATE TABLE IF NOT EXISTS `tbl_user` (
  3.   `EmplNum` varchar(8) NOT NULL,
  4.   `Name` varchar(50) NOT NULL,
  5.   `Pwd` varchar(50) NOT NULL DEFAULT 'aquivalacontrasena',
  6.   `Guide` int(1) NOT NULL DEFAULT '1',
  7.   `ChangePwd` int(1) NOT NULL DEFAULT '1',
  8.   `DisabledAccount` int(1) NOT NULL DEFAULT '0',
  9.   PRIMARY KEY (`ID`),
  10.   UNIQUE KEY `EmplNum` (`EmplNum`)
  11.  
  12. --
  13. -- Dumping data for table `tbl_user`
  14. --
  15.  
  16. INSERT INTO `tbl_user` (`ID`, `EmplNum`, `Name`, `Pwd`, `Guide`, `ChangePwd`, `DisabledAccount`) VALUES
  17. (1, 'ADMIN', 'Administrador', 'aquivalacontrasena', 1, 0, 0);
  18.  
  19. DROP TABLE IF EXISTS `tbl_user_access`;
  20. CREATE TABLE IF NOT EXISTS `tbl_user_access` (
  21.   `ID_user` int(11) unsigned NOT NULL,
  22.   `AppAccess` int(11) NOT NULL,
  23.   `Access` int(3) NOT NULL,
  24.   `DisabledAccess` int(1) unsigned NOT NULL,
  25.   PRIMARY KEY (`ID`),
  26.   KEY `ID_user` (`ID_user`)
  27.  
  28. --
  29. -- Dumping data for table `tbl_user_access`
  30. --
  31.  
  32. INSERT INTO `tbl_user_access` (`ID`, `ID_user`, `AppAccess`, `Access`, `DisabledAccess`) VALUES
  33. (1, 1, 1, 63, 0),
  34. (2, 1, 2, 63, 0),
  35. (3, 1, 4, 63, 0);
  36.  
  37. --
  38. -- Constraints for table `tbl_user_access`
  39. --
  40. ALTER TABLE `tbl_user_access`
  41.   ADD CONSTRAINT `tbl_user_access_ibfk_1` FOREIGN KEY (`ID_user`) REFERENCES `tbl_user` (`ID`) ON DELETE CASCADE;
  42.  
  43.  
  44. DROP TABLE IF EXISTS `tbl_user_app_access`;
  45. CREATE TABLE IF NOT EXISTS `tbl_user_app_access` (
  46.   `Bit` int(11) NOT NULL,
  47.   `Name` varchar(100) NOT NULL,
  48.   PRIMARY KEY (`ID`)
  49.  
  50. --
  51. -- Dumping data for table `tbl_user_app_access`
  52. --
  53.  
  54. INSERT INTO `tbl_user_app_access` (`ID`, `Bit`, `Name`) VALUES
  55. (1, 1, 'Admin'),
  56. (2, 2, 'QSO'),
  57. (3, 4, 'Retención');

....al tratar de añadir esto me sale el siguiente error?
Código MySQL:
Ver original
  1. ALTER TABLE `tbl_user_access`
  2.   ADD FOREIGN KEY (`AppAccess`) REFERENCES `tbl_user_app_access` (`Bit`) ON DELETE CASCADE
  3.  
  4. -- Error
  5. -- #1005 - Can't create table 'qso.#sql-ea4_4b0' (errno: 150)
Primero me aseguré que sea InnoDB y luego que tuvieran la misma cantidad de dígitos o sea int(11). Y hasta ahí llego.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 22/08/2010 a las 15:33 Razón: corregir datos..