程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL定義外鍵的方法(1)

MySQL定義外鍵的方法(1)

編輯:MySQL綜合教程

外鍵為MySQL帶來了諸多的好處,下面就為您介紹MySQL定義外鍵的語句寫法,以及MySQL定義外鍵過程中出現錯誤的處理方法,供您參考學習。

  1. mysql> CREATE TABLE categories (  
  2.       -> category_id tinyint(3) unsigned NOT NULL AUTO_INCREMENT,  
  3.       -> name varchar(30) NOT NULL,  
  4.       -> PRIMARY KEY(category_id)  
  5.       -> ) ENGINE=INNODB;  
  6. Query OK, 0 rows affected (0.36 sec)  
  7.  
  8. mysql> INSERT INTO categories VALUES (1, ‘SQL Server’), (2, ‘Oracle’), (3, ‘PostgreSQL’), (4, ‘MySQL’), (5, ‘SQLite’);  
  9. Query OK, 5 rows affected (0.48 sec)  
  10. Records: 5    Duplicates: 0    Warnings: 0  
  11.  
  12. mysql> CREATE TABLE members (  
  13.       -> member_id INT(11) UNSIGNED NOT NULL,  
  14.       -> name VARCHAR(20) NOT NULL,  
  15.       -> PRIMARY KEY(member_id)  
  16.       -> ) ENGINE=INNODB;  
  17. Query OK, 0 rows affected (0.55 sec)  
  18.  
  19. mysql> INSERT INTO members VALUES (1, ‘test’), (2, ‘admin’);  
  20. Query OK, 2 rows affected (0.44 sec)  
  21. Records: 2    Duplicates: 0    Warnings: 0  
  22.  
  23. mysql> CREATE TABLE articles (  
  24.       -> article_id INT(11) unsigned NOT NULL AUTO_INCREMENT,  
  25.       -> title varchar(255) NOT NULL,  
  26.       -> category_id tinyint(3) unsigned NOT NULL,  
  27.       -> member_id int(11) unsigned NOT NULL,  
  28.       -> INDEX (category_id),  
  29.       -> FOREIGN KEY (category_id) REFERENCES categories (category_id),  
  30.       -> CONSTRAINT fk_member FOREIGN KEY (member_id) REFERENCES members (member_id),  
  31.       -> PRIMARY KEY(article_id)  
  32.       -> ) ENGINE=INNODB;  
  33. Query OK, 0 rows affected (0.63 sec)  

注意:對於非InnoDB表,FOREIGN KEY子句會被忽略掉。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved