0
CREATE TABLE  `rajesh_testing`.`testing1` (
  `EMPLOYEE_NAME` varchar(25) NOT NULL,
  `EMPLOYEE_SALARY` decimal(14,0) NOT NULL,
  PRIMARY KEY (`EMPLOYEE_NAME`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


CREATE TABLE  `rajesh_testing`.`testing2` (
  `TEST2_ID` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `TEST2_EMPLOYEE_NAME` VARCHAR(25) NOT NULL,
  PRIMARY KEY (`TEST2_ID`),
  FOREIGN KEY (TEST2_EMPLOYEE_NAME) REFERENCES testing1(EMPLOYEE_NAME) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

while creating table testing2 am getting error 1215 cannot create foreign key.

Nissa
  • 4,636
  • 8
  • 29
  • 37
  • I recommend this: `CREATE TABLE testing1 ( EMPLOYEE_NAME varchar(25) NOT NULL, EMPLOYEE_SALARY decimal(14,0) NOT NULL, PRIMARY KEY (EMPLOYEE_NAME) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ... CREATE TABLE testing2 ( TEST2_ID INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, TEST2_EMPLOYEE_NAME VARCHAR(25) NOT NULL, FOREIGN KEY (TEST2_EMPLOYEE_NAME) REFERENCES testing1(EMPLOYEE_NAME) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1;` – Drew Sep 27 '16 at 19:18
  • or slightly more simple: `CREATE TABLE testing1 ( EMPLOYEE_NAME varchar(25) PRIMARY KEY, EMPLOYEE_SALARY decimal(14,0) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ... CREATE TABLE testing2 ( TEST2_ID INTEGER AUTO_INCREMENT PRIMARY KEY, TEST2_EMPLOYEE_NAME VARCHAR(25) NOT NULL, FOREIGN KEY (TEST2_EMPLOYEE_NAME) REFERENCES testing1(EMPLOYEE_NAME) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ` – Drew Sep 27 '16 at 19:21
  • Use the `engine=InnoDB` for FK's and cascades – Drew Sep 27 '16 at 19:21

0 Answers0