通过外键链接MySQL表

时间:2011-12-08 12:09:04

标签: mysql database

我在MySQL中创建了多个表,但是在一个或多个表中的某些字段中的数据应该存在于其他表中。我知道这可以通过向表中添加外键来创建。

我想知道如何做到这一点。

请注意,删除任何记录时,不应删除所有链接...可以将值更改为null。我会以其他方式管理它。

PS:我只需要代码就可以了。

1 个答案:

答案 0 :(得分:1)

CREATE TABLE other (
  id unsigned integer auto_increment primary key
  ,field1 varchar(100) not null) ENGINE = InnoDB;

CREATE TABLE example (
  id unsigned integer auto_increment primary key
  ,field1 varchar(100) not null
  ,other_id unsigned integer
  ,FOREIGN KEY FK_example_other_table (foreign_id) REFERENCES other(id) 
   ON DELETE RESTRICT
   ON UPDATE CASCADE ) ENGINE = InnoDB;

请参阅:http://dev.mysql.com/doc/refman/5.1/en/create-table.html