Connecting Tech Pros Worldwide Help | Site Map

foreign key problem

pradeepjain's Avatar
Needs Regular Fix
 
Join Date: Jul 2007
Location: India
Posts: 405
#1: Sep 24 '09
I have a table with fields like

Expand|Select|Wrap|Line Numbers
  1. mysql> desc users;
  2. +------------------+------------------+------+-----+---------+----------------+
  3. | Field            | Type             | Null | Key | Default | Extra          |
  4. +------------------+------------------+------+-----+---------+----------------+
  5. | uid              | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
  6. | name             | varchar(60)      | NO   | UNI |         |                | 
  7. | pass             | varchar(32)      | NO   |     |         |                | 
  8. | mail             | varchar(64)      | YES  | MUL |         |                | 
  9. | mode             | tinyint(4)       | NO   |     | 0       |                | 
  10. | sort             | tinyint(4)       | YES  |     | 0       |                | 
  11. | threshold        | tinyint(4)       | YES  |     | 0       |                | 
  12. | theme            | varchar(255)     | NO   |     |         |                | 
  13. | signature        | varchar(255)     | NO   |     |         |                | 
  14. | signature_format | smallint(6)      | NO   |     | 0       |                | 
  15. | created          | int(11)          | NO   | MUL | 0       |                | 
  16. | access           | int(11)          | NO   | MUL | 0       |                | 
  17. | login            | int(11)          | NO   |     | 0       |                | 
  18. | status           | tinyint(4)       | NO   |     | 0       |                | 
  19. | timezone         | varchar(8)       | YES  |     | NULL    |                | 
  20. | language         | varchar(12)      | NO   |     |         |                | 
  21. | picture          | varchar(255)     | NO   |     |         |                | 
  22. | init             | varchar(64)      | YES  |     |         |                | 
  23. | data             | longtext         | YES  |     | NULL    |                | 
  24. +------------------+------------------+------+-----+---------+----------------+
  25. 19 rows in set (0.00 sec)
  26.  
and another table

Expand|Select|Wrap|Line Numbers
  1. mysql> desc viio_patient_doctor_index;
  2. +----------------------------+------------------+------+-----+---------+----------------+
  3. | Field                      | Type             | Null | Key | Default | Extra          |
  4. +----------------------------+------------------+------+-----+---------+----------------+
  5. | Patient_Id                 | int(11)          | NO   | PRI | NULL    | auto_increment | 
  6. | Doctor_Id                  | int(10) unsigned | NO   | MUL | NULL    |                | 
  7. | Patient_Name               | varchar(100)     | NO   |     | NULL    |                | 
  8. | Address                    | varchar(500)     | NO   |     | NULL    |                | 
  9. | City                       | varchar(100)     | NO   |     | NULL    |                | 
  10. | State                      | varchar(100)     | NO   |     | NULL    |                | 
  11. | Postal_Code                | varchar(20)      | NO   |     | NULL    |                | 
  12. | Phone_Home                 | varchar(20)      | YES  |     | NULL    |                | 
  13. | Phone_Work                 | varchar(20)      | YES  |     | NULL    |                | 
  14. | DOB                        | varchar(20)      | NO   |     | NULL    |                | 
  15. | Language_Spoken            | varchar(200)     | YES  |     | NULL    |                | 
  16. | Sex                        | varchar(10)      | NO   |     | NULL    |                | 
  17. | Emergency_Contact_name     | varchar(200)     | YES  |     | NULL    |                | 
  18. | Emergency_Contact_Number   | varchar(20)      | YES  |     | NULL    |                | 
  19. | Gp_Name_Address            | varchar(250)     | YES  |     | NULL    |                | 
  20. | Gp_Phone_Day               | varchar(20)      | YES  |     | NULL    |                | 
  21. | Gp_Phone_Out_Day           | varchar(20)      | YES  |     | NULL    |                | 
  22. | Pharmacist_Name_Number     | varchar(100)     | YES  |     | NULL    |                | 
  23. | Nurse_Name                 | varchar(100)     | YES  |     | NULL    |                | 
  24. | Nurse_Number               | varchar(20)      | YES  |     | NULL    |                | 
  25. | Chiropodist_Name           | varchar(100)     | YES  |     | NULL    |                | 
  26. | Chiropodist_Number         | varchar(20)      | YES  |     | NULL    |                | 
  27. | Dietitian_Name             | varchar(100)     | YES  |     | NULL    |                | 
  28. | Dietitian_Number           | varchar(20)      | YES  |     | NULL    |                | 
  29. | Diabetes_Specialist_Name   | varchar(100)     | YES  |     | NULL    |                | 
  30. | Diabetes_Specialist_Number | varchar(20)      | YES  |     | NULL    |                | 
  31. | Hospital_Number            | varchar(20)      | YES  |     | NULL    |                | 
  32. +----------------------------+------------------+------+-----+---------+----------------+
  33. 27 rows in set (0.00 sec)


but when i try to create a foreign key like

Expand|Select|Wrap|Line Numbers
  1. mysql> ALTER TABLE viio_patient_doctor_index ADD FOREIGN KEY(Doctor_Id)  REFERENCES users(uid) ON DELETE CASCADE;
Quote:
ERROR 1005 (HY000): Can't create table './drupalweb/#sql-965_3c2.frm' (errno: 150)

i dono y its giving problem!!! any help on it!!
pradeepjain's Avatar
Needs Regular Fix
 
Join Date: Jul 2007
Location: India
Posts: 405
#2: Sep 24 '09

re: foreign key problem


Now its working !!! one table was MyISAM and another was innoDB.. i changed the MYISAM to InnoDB. then it started working!!! Hope the solution was correct !!!
Atli's Avatar
Moderator
 
Join Date: Nov 2006
Location: Iceland
Posts: 3,736
#3: Sep 24 '09

re: foreign key problem


Hey.

Yea, creating a foreign key from an InnoDB table to a MyISAM table doesn't work.
MyISAM doesn't support foreign keys. (Yet)

P.S.
[code] tags!
pradeepjain's Avatar
Needs Regular Fix
 
Join Date: Jul 2007
Location: India
Posts: 405
#4: Sep 24 '09

re: foreign key problem


Quote:

Originally Posted by Atli View Post

Hey.

Yea, creating a foreign key from an InnoDB table to a MyISAM table doesn't work.
MyISAM doesn't support foreign keys. (Yet)

P.S.
[code] tags!

okie srry 4 that !! its just a mysql table structure so did not put code tags!!!
Reply


Similar MySQL Database bytes