"Morten Gulbrandsen" <[EMAIL PROTECTED]> wrote: > USE company; > DROP TABLE IF EXISTS EMPLOYEE; > CREATE TABLE EMPLOYEE > ( > # PK > SSN CHAR(9) NOT NULL, > # FK > SUPERSSN CHAR(9), > DNO INT NOT NULL DEFAULT 1, > CONSTRAINT EMPPK > PRIMARY KEY (SSN), > FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE(SSN), # THIS runs > FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNUMBER)); # TYPE=InnoDB > > > SHOW CREATE TABLE EMPLOYEE; > SHOW TABLE STATUS FROM COMPANY LIKE "EMPLOYEE"; > > ======================================================================== > > > USE company; > DROP TABLE IF EXISTS EMPLOYEE; > CREATE TABLE EMPLOYEE > ( > # PK > SSN CHAR(9) NOT NULL, > # FK > SUPERSSN CHAR(9), > DNO INT NOT NULL DEFAULT 1, > CONSTRAINT EMPPK > PRIMARY KEY (SSN), > FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE(SSN), # THIS woun't DO !!! > FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNUMBER))TYPE=InnoDB; # > > > SHOW CREATE TABLE EMPLOYEE; > SHOW TABLE STATUS FROM COMPANY LIKE "EMPLOYEE"; > > > > C:\mysql\bin>mysql < Company_00.sql > out.txt > ERROR 1005 at line 3: Can't create table '.\company\employee.frm' > (errno: 150) > > > What can I DO ? > > > > mysql> SHOW VARIABLES LIKE "have_innodb"; > +---------------+-------+ > | Variable_name | Value | > +---------------+-------+ > | have_innodb | YES | > +---------------+-------+ > 1 row in set (0.00 sec) > > mysql> >
Error 150 means that you have wrong foreign key definitions. You must create index on SUPERSSN, DNO columns: http://www.mysql.com/doc/en/InnoDB_foreign_key_constraints.html -- For technical support contracts, goto https://order.mysql.com/?ref=ensita This email is sponsored by Ensita.net http://www.ensita.net/ __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Victoria Reznichenko / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.net <___/ www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]